量化交易策略大全

Quantitative Trading Strategy Compendium — 技术分析、统计套利、因子投资、机器学习、期权波动率与组合风控的可编码策略规格库

阅读指南:本文是《量化交易系统》的姊妹篇——系统文档讲「从信号到订单的工程链路」,本文讲「策略本身」:它做什么、由什么组成、分成几类、怎么验证、怎么落地,并给出每一类策略的可编码规格(公式 + 参数 + Python 伪代码)与 GitHub 参考仓库(见附录 D)。Part 1 策略体系(§0-4)回答"做什么 / 由什么组成 / 怎么分类 / 怎么验证";Part 2 技术分析(§5-10)给出价格行为信号源与规格库(含日内 ORB 与期权波动率);Part 3 量化策略理论(§11-17)覆盖统计套利 / 因子 / 时序 / ML / 事件 / 组合风控 / 执行;Part 4 实战与速查(§18-19)给出落地步骤与参数速查;Part 5 全网热度最高策略全览(§20-33)多源盘点全网最热策略——A股/美股/加密/期货/外汇/期权/债券全市场 × 趋势/反转/套利/因子/事件/ML/高频全风格,并收录民间与自媒体战法、加密特有策略;附录提供适配矩阵、指标口径、适用对照与参考仓库索引。

0. 总览

0.1 什么是量化交易策略

量化交易策略(Quantitative Trading Strategy)是把「市场规律」编码为可重复、可验证、可执行的决策规则的程序。它不是一句买卖建议,而是一个完整的决策函数:给定当前市场状态(行情、持仓、资金),输出「买/卖/不动作、买多少、风险上限在哪」。行业共识是:一个策略 = 信号产生 + 仓位决定 + 风险约束 + 执行方式 四部分组合,缺一不可——只有信号没有仓位管理,赚了指数也可能亏穿本金;没有风控,一次黑天鹅清零。

专有名词:Signal(信号)与 Alpha(超额收益)。Signal 是策略输出的方向性判断(做多/做空/观望),通常带强度(如 0~1 的置信度)与时效(哪个时间点生效)。Alpha 指策略相对基准(如沪深300)的经风险调整后的超额收益,是策略存在的唯一理由;与 Alpha 相对的是 Beta(跟随市场整体的收益)。一条策略的实质,就是持续从某种市场规律(异象)中提取 Alpha。

0.2 策略与系统的分工

文档视角回答的问题
量化交易系统工程策略产出的信号如何变成真实订单:数据、回测、风控、执行、对账、复盘八段链路
量化交易策略大全(本文)体系 + 规格库策略本身做什么、由什么组成、怎么分类、怎么验证、怎么落地,以及每类策略的公式、参数、伪代码,可直接编码

0.3 核心认知:策略不是"预测",是"决策 + 风控 + 成本"

新手常把策略等同于「预测涨跌」,这是最大误区。成熟的策略观有三层:

  1. 预测可以错,决策不能错:胜率 40% 的策略通过盈亏比(赔率)管理照样赚钱——关键在「错时亏多少、对时赚多少」由仓位与止损决定,而非预测本身。
  2. 信号之上必有仓位层与风控层:同样的动量信号,满仓进出与 Kelly/ATR 仓位,长期结果天差地别(见 §19.2)。
  3. 成本决定策略存亡:一个毛利为正的策略,扣除滑点、手续费、冲击成本后可能转负(见 §4.3)。策略验证的第一课就是「成本模型」。
一条主线贯穿全文:策略 = 在特定市场状态下,由信号层产生候选、仓位层决定投入、风控层设置护栏、执行层落地订单的闭环。§1 先看它"做什么",§2 再看"由什么组成",§3 给出全图谱,§4 讲验证与落地,§10 与 §11-17 给出规格与理论,§18-19 提供实战与速查。

0.4 量化策略理论与技术分析的关系

量化交易策略理论与技术分析理论是「上层方法论」与「具体工具」的关系,而非并列关系。理解这一层级,才能正确使用本文档:技术分析是量化策略体系中的信号源之一,量化策略理论则是把「任何可盈利规律」变成可重复、可验证、可执行程序的完整作战体系。

层级定位

维度技术分析理论量化策略理论
层级具体工具(怎么读盘)上层方法论(怎么系统化赚钱)
本质群体行为 → 价格信号把可盈利规律变为可验证、可执行的程序
关注点价格/成交量里找信号信号如何产生、验证、组合、控风险、落地
回答的问题价格「何时」向「何处」运动信号可不可信、投多少、亏了怎么撤

三层关系

  1. 技术分析是量化策略理论的信号源之一(非全部):技术分析提供入场/出场信号(2B、均线交叉、BOLL 触轨…)。量化理论回答信号之外更上层的问题——验证(回测)、组合与资金分配(Markowitz/风险平价/Kelly)、成本(执行与微观结构)。且存在完全不需要 K 线的信号源:因子投资、统计套利、事件驱动。
  2. 量化是技术分析的科学化升级:同一 2B 信号,人工看图靠直觉,量化把它变成「突破-失败-反向」三条件程序 + 回测验证胜率 + ATR 定仓位。量化不改写技术分析内核,而是给它装上「验证、纪律、风控」三件套。
  3. 类比:技术分析 ≈ 侦察兵(发现目标);量化策略理论 ≈ 作战指挥系统(情报可信度、兵力配置、撤退预案)。

先澄清一个常见混淆:自动化交易 ≠ 量化交易

「量化交易系统不就是程序化执行交易策略吗?」——对了一半。程序化执行交易策略是量化系统的执行内核,但系统不等于只有执行。二者是递进关系而非并列关系:自动化把「策略执行」机械化,量化则连「策略的产生与验证」也交给数据与统计。

维度自动化 / 程序化交易量化交易
策略来源人的主观规则(含技术分析),人工定好后交给程序策略本身由数据/统计/模型产生并验证
例子把 2B 编码成 if-else 让机器自动跑在数千只股票上回归发现动量因子 → 自动选股执行
机器角色忠实的执行者从「找规律」到「执行」全程参与
在谱系中的位置量化系统的初级形态策略由数据挖掘而来并经受统计验证

仅把技术分析硬编码成机器人,严格说是程序化执行;行业里「量化」更强调策略不是人拍板、而是从数据里挖出来并经统计验证的。不过,哪怕只是把 2B 编码执行,也立刻会撞上这些「系统层」问题——它们不是「执行」本身,却是让程序可靠盈利的前提:

  1. 信号从哪来:2B 的「前高」「失败」怎么定义才不模糊?
  2. 怎么知道有效:回测、Walk-forward、防过拟合——否则程序只是稳定地亏。
  3. 下多大:Kelly/ATR 仓位——同样信号,仓位决定生死。
  4. 成交被吃掉多少:滑点/冲击成本模型。
  5. 多策略怎么分配:组合层。

这正是 Part 3 存在的原因:它描述的不是「怎么把信号搬进程序」,而是「让程序化执行真正长期有效」还缺的那些层。一句话总结:技术分析给你策略(if-then 规则),Part 3 给你「让这些规则可靠赚钱的系统」——量化系统 = 执行 + 验证 + 风控 + 执行质量,缺了后三样,「程序化执行」只剩自动化的壳。

PlantUML diagram
组件图:量化策略分层架构(结构图 · 宏观总览,信号源层 → 验证层 → 组合风控层 → 执行层,技术分析的定位)

0.5 交易演进史

交易的理论、技术、工具三者是相互咬合演进的:工具能力决定技术可行范围,技术实践催生理论总结,理论又反哺新工具设计。理解这条脉络,才能看清「技术分析 → 量化策略理论」不是人为划分,而是同一演进路径的两端。

演进时间线(理论 × 技术 × 工具三线并进)

时期理论突破技术/技法工具
前现代(~1800)无系统理论,凭经验与直觉手工盯盘、口头报价米市柜台、咖啡馆、交易纸
古典奠基(1700s-1900s)本间宗久米市战法雏形;道氏理论(Dow)定义趋势蜡烛图、三空战法行情纸带、电报、报纸行情
图表学派(1930s-1950s)艾略特波浪(1938)、江恩理论、形态学(Edwards & Magee 1948)头肩顶底、趋势线、通道图表纸、对数坐标、点数图
统计与指标(1950s-1980s)Markowitz 现代组合理论(1952);Wilder 发明 RSI/ATR/ADX/SAR(1978);Appel 发明 MACD;Bollinger 布林带技术指标系统化电子行情终端(路透/彭博 1973)、PC 分析软件
量化革命(1970s-1990s)Black-Scholes(1973);Fama-French 三因子(1993);统计套利成型程序化交易、指数套利、配对交易彭博终端、实时数据、纳斯达克电子盘(1971)
互联网散户化(1990s-2000s)行为金融学兴起(心理进入定价)在线经纪、软件化看图E*Trade、Metastock/TradeStation/Amibroker
高频与机器学习(2000s-2010s)风险平价(2005)、动量崩溃研究、HFT 理论高频交易、因子投资成熟、机器学习信号FPGA、微秒撮合、量化平台
AI 与数据时代(2010s-今)深度学习/强化学习交易、另类数据、LLM 投研数据挖掘信号、算法执行(TWAP/VWAP)云量化平台、DeFi/加密货币市场
PlantUML diagram
活动图:交易演进史(行为图 · 时间线,工具→技术→理论的驱动循环)

三条演变主线

  1. 工具驱动技术:电报→实时行情→PC→高速撮合→AI,每次算力跃迁都让更精细的技术/策略成为可能——低频手工只能看图,高频时代才有微秒级策略。
  2. 实践催生理论:市场现象(1987 崩盘、2008 危机)反向修正模型——量化从「追求精确」转向「承认不确定、控制风险」,直接催生了 Part 3 中的 VaR/回撤控制/执行成本理论。
  3. 理论反哺工具:组合理论→优化软件;期权定价→做市算法;机器学习→特征工程平台。每代工具都内置了上一代理论。
启示:技术分析(Part 2)诞生于「工具只能看图」的时代;当工具进化到能运算、回测、撮合微秒级,量化理论(Part 3)随之成为必然延伸。二者不是对立学派,而是同一演进在「信号直觉」与「系统化验证」两个阶段的产物。

0.6 认识论边界:什么能被"证明"

回到最根本的问题:是否存在严格数学证明能盈利的交易策略?答案分三层,每一层都在给"盈利保证"划定边界。

第一层:严格可证明盈利的只有套利,且不构成可持续策略

在「市场有效」假设下,任何"可证明盈利"的策略都不存在——若一个策略能被证明必赚,所有人都会用,边际利润被抹平,edge 自我消灭。因此可证明盈利 = 市场存在失效点,而你恰好能捕捉它。少数有数学保证的形式:

  • 跨市场/跨品种套利:同一资产不同市场价格差,价差存在且能同步成交时无风险盈利——但这是"一次性的",套利者越多价差消失越快。
  • 期权平价套利(put-call parity violation):C − P = S − K·e^(−rT) 被打破时,组合对冲可锁定无风险利润,同属被瞬时消灭型。
  • 事件套利:合并/回购等有确定条款的价格错位,非严格无风险。
  • 做市商:数学上保证的是"每笔买卖价差收益",不保证不亏库存(被单边行情打爆)。

结论:严格数学可证明盈利的只有瞬时套利,本质是赚市场失效的钱;加上交易成本(手续费/滑点)后,"理论可证明"进一步被抹掉。可持续的盈利策略都不是数学证明出来的。

第二层:统计优势 ≠ 数学证明(演绎 vs 归纳)

区分两个词是理解的关键:

  • 数学证明是演绎(deductive):从公理必然推出结论,永远为真(如 Kelly 定理、套利平价)。
  • 统计优势是归纳(inductive):从历史样本推断未来规律,归纳永远无法在逻辑上保证未来——这是休谟问题的核心。

具体地说:回测通过显著性检验,只证明"过去数据里出现过这个规律",不证明"未来会继续"。市场非平稳(规律会衰减、对手方会进化去消灭你);统计检验的前提假设(平稳性、独立性)在对抗性市场里恰恰不成立。样本内永远过拟合,样本外只能估计,不能证明。所以 edge 这一环给的是概率,不是必然。

第三层:Kelly 是有条件的严格证明

Kelly criterion 是严格数学定理:给定胜率 p、赔率 b,使长期对数增长率最大化的下注比例 f* 有封闭解,证明是演绎的。但它是条件命题:

若 edge 已知且估计正确,则按 f* 下注是最优的。

它没有证明 edge 存在,只是把 edge 放大到最优。负期望策略按 Kelly 下注照样破产——Kelly 只管最优放杠杆,不管收益为正。完整逻辑链:

环节是否可证明性质
edge 是否存在/持续无法证明只能统计估计(归纳,有误差)
edge 已给出 → Kelly 最优仓位可严格证明演绎,但条件性
edge 估计错误数学证明全部失效Garbage in, garbage out

整条链里唯一可证明的环节是最末端的条件性最优,而最关键的前端——edge 本身——恰好不可证明。这就是为什么"可证明盈利的策略"在严格意义上不存在。

技术分析 vs 量化:经验之谈 vs 可证伪的学科

「技术分析、量化交易都只是没被证明的经验之谈吗?」——两者不在同一类问题:

  • 技术分析基本是经验之谈,且是"无法证伪"的经验之谈:图表形态是事后画出来的("头肩顶"失败时你改说成"更大级别的头肩顶"),永远有解释 → 认知上是幸存者偏差 + 确认偏误的叙事框架;大样本严格检验绝大多数扣除成本后无显著边际。它是占星术式的,不是科学。
  • 量化不是经验之谈,而是"证伪经验之谈的学科":区别不在结论,在方法论——把"经验之谈"转成可检验假设,用样本外数据证伪它,并诚实标出误差。它给出的结论同样只是统计推断(归纳,非数学证明),但它是一套承认不确定性的认知纪律:知道自己赌的是什么、赌注多大、何时认错离场。这正是它能长期生存的原因——不是 edge 永不失效,而是失效时被测量、被止损。
维度技术分析量化交易
假设来源先有断言,事后找解释先有假设,数据验证
可证伪性不可证伪明确预测 + 置信区间
误差从不测量显式测量(夏普、回撤、IC)
失效处理永远有效(叙事兜底)监控衰减,果断退役

被反复验证的真信号:可获得的最高证据等级

量化确实有被反复验证的规律:动量、规模、价值、低波动等风险溢价因子,在几十个国家、跨越几十年、样本外反复复现——这是金融学里被复制得最多的实证结果。它不是数学证明,但在对抗性环境下,这种跨市场跨时间的稳健性就是可获得的最高证据等级。

一句话总结:技术分析是"相信但不测量",量化是"测量所以知道信到什么程度"。量化无法证明盈利,但能告诉你这笔赌注的胜率和该下多大注——这就是为什么它是唯一可持续的做法。

Part 1 策略体系

1. 行为视图:策略做什么

行为视图回答系统"做什么"。我们从宏观到微观递进:先看策略在整个生命周期有哪些行为(用例图),再看一条策略从想法到实盘的主流程(活动图),然后聚焦实盘运行时它与系统的交互(时序图),最后看策略状态如何迁移(状态机图)。

1.1 用例图:策略全生命周期行为

PlantUML diagram
用例图(行为图 · 整体行为):策略全生命周期 —— 研究员驱动"研究→回测→模拟",风控把关"审查/下线",运维执行"实盘部署与监控"

四个关键点:

  • 研究阶段是策略的源头:提出假设(如"动量在 A 股 20 日窗口有效")→ 取数 → 定义信号 → 回测验证,这是一个研究员反复迭代的闭环。
  • 风控是独立于研究的把关者:风控不参与策略发明,只审查"能不能上"(仓位上限、回撤约束、监管合规)与"要不要停"(异常下线)——权力分离防止研究员自说自话。
  • 模拟交易(Paper Trading)是实盘的前置关卡:用实时行情、不真实成交,检验策略在"未来数据"上的表现,过滤"历史回测漂亮、当下失效"的策略。
  • 监控与下线是长期行为:上线不是终点;策略会衰减(市场结构变化),必须持续监控并最终退役。
专有名词:Paper Trading(模拟交易/纸面交易)。用实时行情按策略规则虚拟下单、不投入真金,成交按模拟撮合(通常假设即时成交或带简单滑点)。它是回测(用历史数据)与实盘(真金白银)之间的桥梁,用于检验策略在"没见过的数据"上的稳定性。

1.2 活动图:一条策略从想法到实盘的完整流程

PlantUML diagram
活动图(行为图 · 主流程细化):想法→实盘的完整主流程 —— 两道反馈环(回测稳健性、模拟期表现)决定了策略能否继续推进

主流程中的四个"关卡"(活动图中菱形判断):

关卡判断内容不通过则
回测稳健性改参数/换样本后结果是否剧烈变化(过拟合信号)回炉修正假设或参数
样本外绩效未参与调参的数据上是否仍达标放弃或彻底重做
容量与成本目标资金量下成本是否吃掉毛利、容量是否够降规模或换执行方式
模拟期表现实时行情模拟一段时间后是否与回测一致暂停,定位偏差来源
专有名词:Walk-forward(前推/滚动样本外检验)。把时间序列切成多段"训练期→测试期"窗口,滚动推进:每段只用之前的数据调参、在之后的未见数据上验证,多次验证的累计结果接近真实实盘体验,是防过拟合的核心手段(详见 §4.2)。

1.3 时序图:实盘运行时策略与系统的交互

PlantUML diagram
时序图(行为图 · 交互细化):实盘运行时一条信号的旅程 —— 行情进入→信号计算→风控放行→组合换仓→订单执行→持仓与 PnL 反馈,风控可随时拦截

时序图上四件事值得记住:

  • 策略是无状态的纯计算器:它只接收数据、产出信号,不直接接触券商接口——订单由下游 OMS 统一发出,保证"信号"与"执行"解耦,便于回测与实盘共用同一策略代码。
  • 风控在每个决策点前插入:信号提交后、下单前都要过风控;实时敞口(总仓位、单票仓位、当日亏损)超限即拦截并告警。
  • 组合层做"净变动"转换:策略给出目标权重,组合管理对比当前持仓算出「净买入/净卖出」,避免重复下单。
  • 成交与 PnL 反馈闭环:成交回报更新持仓,持仓变化反向影响风控判断(如杠杆率),形成"信号→执行→反馈"的循环。
专有名词:OMS / EMS。OMS(Order Management System,订单管理系统)负责订单生命周期(生成、撤改、状态跟踪);EMS(Execution Management System,执行管理系统)负责算法执行(TWAP/VWAP/冰山单)。策略信号只到 OMS 为止,拆分与报单属于执行层。

1.4 状态机图:策略生命周期状态迁移

PlantUML diagram
状态机图(行为图 · 状态细化):策略生命周期的状态与迁移 —— 任何状态都可因绩效/风险事件进入暂停或下线

状态机要点:

  • 状态即"承诺":实盘(Live)状态意味着真金白银与自动下单,进入门槛最高(要过评审、过模拟);一旦异常可降级到暂停(Paused),暂停是"可逆"的,下线(Retired)是"不可逆"的。
  • 大部分策略死在回测与评审之间:回测漂亮 → 评审发现容量不够/成本太高/监管禁止 → 否决下线。这是行业常态,不是失败。
  • 监控触发状态回退:实盘绩效偏离、风控事件(连续止损、流动性异常)可强制暂停;复盘后决定恢复、重构或退役。
专有名词:Capacity(策略容量)。策略在收益不被冲击成本显著侵蚀的前提下能管理的最大资金规模。容量受限意味着:策略再赚钱,也装不下大资金——机构评估策略的第一问往往不是"收益多高"而是"容量多大"。

2. 结构视图:策略由什么组成

结构视图从宏观到微观:先看策略的内部模块(组件图),再看核心对象之间的抽象关系(类图),最后看策略在代码库中如何组织(包图)。

2.1 组件图:策略内部模块

PlantUML diagram
组件图(结构图 · 宏观):策略的五个内部模块 —— 信号发生器 → 信号过滤器 → 仓位管理器 → 风控叠加层 → 执行适配器,输入是特征与账户状态,输出是订单与事件

五个模块的职责:

模块职责典型问题
信号发生器 Signal Generator由特征算出原始信号(方向 + 强度 + 时点)均线交叉、动量打分、因子 z-score、ML 模型输出
信号过滤器 Signal Filter去噪、合并冲突、防抖(如"信号持续 N 根 K 线才生效")过滤假突破、避免频繁翻转
仓位管理器 Position Sizing由信号强度与资金/风险预算算出目标仓位固定比例、Kelly、ATR 仓位、风险平价
风控叠加层 Risk Overlay在目标仓位之上叠加硬约束单票上限、总杠杆、止损线、当日亏损熔断
执行适配器 Execution Wrapper把最终净头寸包装成订单指令,适配回测/模拟/实盘不同后端同一策略代码三端复用
专有名词:Position Sizing(仓位管理)与 Risk Overlay(风控叠加)的区别。仓位管理是"策略的一部分"——主动决定投入多少以优化风险收益;风控叠加是"策略之上的护栏"——不关心赚多少,只保证不越界。前者求优,后者防死。

2.2 类图:策略核心抽象

PlantUML diagram
类图(结构图 · 微观抽象):核心对象与关系 —— Strategy 产出 Signal,调用 PositionSizer 与 RiskManager,Portfolio 持有持仓并发出 Order

对象职责速览:

对象关键字段/方法设计意图
Strategyon_tick / on_bar / generate_signal所有策略的统一接口——事件驱动,回测与实盘共用
Signaldirection / strength / timestamp信号是"意图",不是"订单",与执行解耦
PositionSizerapply_kelly / apply_atr仓位逻辑可替换、可插拔
RiskManagercheck(portfolio, signal)风控独立,返回 bool,拦截即止
Portfoliopositions / equity / net_exposure账户状态中枢,供给仓位与风控读取
Ordersymbol / side / qty / type / status落到系统的最终产物,进入 OMS 生命周期
专有名词:Event-Driven(事件驱动)架构。策略不是主动轮询,而是被动响应事件(新 K 线、成交回报、定时器)。好处是回测时事件由历史数据回放、实盘时事件来自实时行情,同一套 on_bar 代码零改动两端运行,从根上消除"回测与实盘不一致"。

2.3 包图:策略库组织

PlantUML diagram
包图(结构图 · 代码组织):策略库六大包 —— 工厂负责注册与实例化,参数与数据适配解耦,运行适配器三端复用,评估模块度量绩效

组织原则三条:

  • 策略 = 数据 + 参数,与运行环境分离:同一策略模板(Strategy Template)通过「回测适配器 / 模拟适配器 / 实盘适配器」在三种环境运行,杜绝"回测能跑、实盘跑不了"。
  • 参数外置(配置化):参数表(JSON/YAML)独立于代码,调参不改代码、可版本管理、可批量实验——这是研究效率的关键。
  • 评估模块独立:绩效指标与归因分析作为通用库供所有策略复用,保证"不同策略用同一把尺子量"。
专有名词:Strategy Factory(策略工厂)。通过注册表按名称实例化策略的创建模式。好处:实盘部署时只需配置策略名与参数,无需改系统代码即可上线新策略——把"开发"与"运营"解耦。

3. 策略分类体系

市场上有上万种"策略",但分类维度只有少数几个。理解维度,才能在任何策略面前快速定位:它靠什么信号赚钱、持有多久、承担多少市场风险、怎么执行。

3.1 四个分类维度

维度取值决定的问题
信号来源技术量价 / 统计套利 / 因子 / 机器学习 / 事件驱动规律从哪来、容量多大、衰减多快
持仓周期高频 / 日内 / 波段 / 中长线交易频率、成本敏感度、基础设施要求
市场中性度方向型 / 中性型 / 套利型赚的是 Beta 还是 Alpha、对大盘依赖
执行方式人工下单 / 半自动 / 全自动速度与成本、容错与监管
PlantUML diagram
分类图(结构图 · 全图谱):策略分类体系 —— 信号来源六大门类 + 持仓周期四档,两轴交叉即得一张策略地图

3.2 按信号来源

信号来源决定策略的"认知内核"。下表给出六大来源的定位(每类具体公式与参数见 §10 技术分析策略规格库 与 §11-17 量化策略理论)。

门类原理(赚什么钱)典型策略优势局限
技术量价市场参与者行为在价格/成交量上留下的规律趋势跟踪、均值回归、突破形态、量价背离规则透明、易实现、信号频率灵活参数敏感、拥挤后失效、样本依赖
统计套利相关资产价格偏离统计关系后的收敛配对交易、指数套利、跨期/跨市场套利市场中性、与大盘相关性低收敛可能不来(基差持续走阔)、容量有限
因子投资可复现的横截面溢价(价值/动量/质量/低波…)多因子选股、Smart Beta逻辑有学术支撑、可规模化、容量大因子拥挤、长期但慢、回撤周期长
机器学习从高维特征中学习非线性关系GBDT 选股、深度学习时序、强化学习能挖到人工难发现的组合规律极易过拟合、可解释性差、需要强风控
事件驱动事件对价格的系统性冲击与反应不足财报/公告套利、并购套利、指数成分调整事件窗口明确、逻辑清晰事件频次低、样本少、依赖时效
期权波动率隐含与已实现波动率的价差(VRP)、事件波动爆发IV Rank、买/卖跨式、铁鹰与大盘相关性低、事件窗口明确、多空双向依赖期权数据与模型、尾部风险大(Volmageddon)
专有名词:Cross-Section 与 Time-Series 信号。横截面(Cross-Section)信号比较同一时刻多个标的的相对强弱(如"买最强者");时间序列(Time-Series)信号比较单个标的历史 vs 当前(如"突破 20 日高点")。多因子选股本质是横截面打分,趋势跟踪本质是时间序列。

3.3 按持仓周期

周期持有时间成本敏感度基础设施要求典型战场
高频 HFT毫秒~秒极高(佣金/滑点即生死)托管机房、低延迟、FPGA、微秒级行情做市、盘口失衡、跨所套利
日内 Intraday分钟~数小时高实时行情、盘中断执行、不过夜日内动量、日内均值回归
波段 Swing数天~数周中日线数据 + 日频执行即可趋势跟踪、波段反转、事件驱动
中长线 Medium/Long数月~数年低基本面/因子数据 + 低频调仓多因子、Smart Beta、另类数据

规律:周期越短,成本与基础设施占比越高、逻辑越微观;周期越长,容量越大、但等待 Alpha 兑现的耐心要求越高。周期选择必须与自身资源匹配——个人研究者直接从波段/中长线起步最现实。

3.4 按市场中性度

类型承担的市场风险收益来源例子
方向型(Beta 依赖)高——大盘涨跌直接决定盈亏部分 Beta + 部分 Alpha趋势跟踪、多头选股
中性型(市场中性)低——对冲掉系统性风险,只留 Alpha纯 Alpha多空对冲(买强卖弱)、股票市场中性
套利型(理论无风险)极低——价格关系收敛即盈利定价偏差配对交易、期现套利、可转债套利

提醒:所谓"无风险"是相对的。套利的风险在于"价差不收敛"(如基差持续走阔)和"资金与保证金风险",2008 年与 2020 年都出现过"套利崩盘"——中性不等于无风险。

3.5 适用场景速查矩阵

场景 / 诉求推荐方向理由
个人 / 小资金起步波段技术量价、中长线因子成本可承受、数据易得、基础设施要求低
追求稳定、怕大幅回撤市场中性、统计套利与大盘相关性低,回撤相对可控
大资金、可长期持有多因子 / Smart Beta容量大、可容纳机构级资金
技术团队强、有低延迟能力高频 / 日内利润厚但门槛高,先有基础设施再谈策略
研究能力 > 工程能力事件驱动 + 另类数据逻辑清晰、可验证、工程要求适中
有期权账户/数据、懂 Greeks期权波动率(O1~O4)收益与方向解耦、事件窗口清晰;但尾部风险须严格管理

4. 策略评估与验证

策略好坏不靠"感觉",靠一整套指标 + 稳健性检验 + 成本检验。本节给出评估的三件套。

4.1 回测指标族

单一指标都会被"美化",必须看一组指标,且都要扣掉成本。

指标含义健康参考(随周期/品种变化)坑
年化收益率复利折算的年收益显著高于基准与无风险利率孤立看无意义,必须配回撤看
年化波动率收益的标准差与策略定位匹配(低波策略不应高波动)衡量风险的大小,不是好坏
Sharpe 比率超额收益 / 波动率(单位风险换多少超额)趋势/波段 >1;高频 >2;中长线 0.5~1.5对"肥尾"与"正偏"不敏感,会被尾部策略虚高
Sortino 比率只计下行波动(分母用下行标准差)通常高于 Sharpe同上,仅改进下行侧
最大回撤(Max Drawdown)从峰值到谷底的最大跌幅与收益匹配(回撤过大=风险失控)历史样本外的黑天鹅可能更深
Calmar 比率年化收益 / 最大回撤>1 较健康;>2 优秀回撤是单点极值,样本依赖强
胜率 / 盈亏比盈利交易占比 / 平均盈利÷平均亏损高胜率低赔率 vs 低胜率高赔率都可行单独看胜率无意义,必须看盈亏比
Profit Factor总盈利 / 总亏损>1.3 才值得考虑实盘对极端尾部敏感
IC / Rank IC因子值与未来收益的相关性(横截面)|IC| > 0.03 有价值;>0.05 优秀用于因子类策略的"信号质量"度量
换手率持仓替换比例越低成本越低高换手必须配低成本环境
专有名词:IC(Information Coefficient,信息系数)。在因子投资中,因子在某期的值与标的下一期收益的 Spearman 相关系数,衡量"这个信号到底有没有预测力"。一组 IC 的均值与标准差(IR = IC均值/IC标准差)是因子质量的核心判据。

4.2 防过拟合方法

回测漂亮的最大来源是过拟合——参数调得太细,记住了历史噪音,实盘即失效。四道防线:

防线做法识别什么
样本内外分离调参只允许用 in-sample,验证只在 out-of-sampleOOS 大幅劣于 IS = 过拟合信号
Walk-forward滚动"训练→验证"窗口(见 §1.2)每段验证绩效是否一致,而非某一小段爆发
参数平原检查在最优参数周围画绩效热力图周围性能急剧下降 = 尖峰 = 过拟合;平原宽 = 稳健
随机化检验打乱行情/用白噪声序列跑同一策略白噪声上还能赚钱 = 严重过拟合/数据错误

经验法则:交易次数(样本量)不足 100~200 次的回测结果不可信;参数数量越多,所需样本量越大(每多一个自由参数,过拟合概率显著上升)。

专有名词:Data Snooping / Multiple Testing(数据窥探 / 多重检验)。在同一份数据上试了 1000 个策略,总会有一个"看起来"很赚钱——那是运气而非规律。应对:样本外验证、策略数量计入统计显著性(如 Bonferroni 校正)、以及「只有 OOS 达标才可实盘」的纪律。

4.3 成本与执行质量

回测毛利与实盘净利之间的鸿沟,几乎全部来自执行成本。评估时必须显式建模:

成本项含义影响最大的策略类型
滑点(Slippage)期望价与实际成交价之差高频、日内(毫秒级信号最敏感)
手续费/印花税交易费率高频、高换手策略
冲击成本(Market Impact)大单买卖推动价格对自己不利大资金、流动性差品种
资金成本/保证金杠杆利息与占用成本套利、高杠杆策略
容量上限超过后收益被冲击成本吞噬小市值、低频、套利

评估动作:至少做三档成本敏感性测试——"零成本 / 保守成本 / 恶劣成本",若策略在保守成本下毛利仍为正,才有资格进入下一步;同时估算容量,避免"能赚但装不下"。

4.4 评估结论判定

把上面三件套合起来,一条策略评估的"通过线"大致是(经验值,随类型浮动):

  1. 绩效层:扣成本后 Profit Factor > 1.3,最大回撤在可承受范围,Calmar > 1;
  2. 稳健层:Walk-forward 各段绩效一致,参数平原宽,OOS 与 IS 差距不悬殊;
  3. 可行性层:保守成本下仍盈利,容量 ≥ 拟投入资金,监管与账户条件满足;
  4. 风控层:预先定义好的止损、仓位上限、熔断规则齐全且可编码执行。
重要:任何回测都不能证明未来赚钱。评估的产出不是"它会赚钱"的结论,而是「该策略在当前市场环境下,经历史与样本外检验,风险与收益特征符合预期,值得用模拟/小额实盘进一步验证」的判断。

4.5 回测方法论(Backtesting Methodology)

回测(Backtest)是用历史数据验证策略的「虚拟实验」。正确性是策略库的元前提:错误的方法会让随机策略看起来有效。

要点 1:前视偏差与幸存者偏差控制

# 错误示例(前视):用了整段数据算出的均值/协方差去生成历史信号
signal_t = f(X_t, params_fitted_on_full_data)      # ✗ 泄漏未来
# 正确:只用 t 及以前数据递推/滚动估计
signal_t = f(X_t, params_fitted_on_data[:t])       # ✓ 逐点合法
# 幸存者偏差:选股池须用当时真实存在的标的(含后来退市的)

要点 2:时间序列切分与 Walk-Forward

# 滚动训练-验证:训练窗 → 验证下一段 → 前移
for fold in walk_forward_folds(data, train=3y, val=1y):
    params = optimize(fold.train)                   # 只在此段调参
    equity = simulate(fold.val, params)             # 参数在样本外测试
# 最终性能以多个 fold 的样本外合并为准,杜绝「用验证集反复调参」

要点 3:过拟合与参数敏感性

# 参数不应在窄峰上最优(脆弱);应测试邻域稳定性
def robustness_check(params):
    neighbors = grid(params, step=[1, 0.5, 2])
    return all(metric(p) > baseline for p in neighbors)   # 稳健才通过
# 多重检验:尝试越多参数组合,偶然最优概率越高(多重检验惩罚)
PlantUML diagram
活动图:回测与验证流程(Walk-forward · 杜绝全样本全知调参)
专有名词: Walk-forward(前进式验证):按时间滚动「训练→样本外测试」,模拟实盘只能看到历史。
参数敏感性(Parameter Sensitivity):参数邻域变化时策略表现是否稳定。
幸存者偏差(Survivorship Bias):仅用现存标的回测会高估收益。

Part 2 技术分析

5. 技术分析概述

技术分析(Technical Analysis)是研究市场历史价格与成交量数据,以预测未来价格走势的方法论。它不关注标的的内在价值,只关注「市场参与者如何在价格上表达自己的行为」。其成果形态多样:既有可编码的量化规则,也有难以形式化的图形直觉;就量化体系而言,它扮演的是价格行为信号源的角色(与量化策略理论的整体关系见§0.4)。

5.1 三大前提

技术分析建立在三个前提之上(J. Murphy《期货市场技术分析》):

专有名词: 趋势(Trend):价格运动的方向,分为上升、下降与横盘三种。
成交量(Volume):单位时间内的成交数量,用于验证价格运动的可信度。

5.2 技术面 vs 基本面

维度技术分析基本面分析
研究对象价格、成交量、时间财务报表、经济数据、行业景气
时间尺度短线 ~ 波段,可精确到分钟以月、季度、年为单位
核心问题价格「何时」向「何处」运动资产「价值」是多少
本质群体行为分析(行为科学 + 概率统计)价值评估(会计 + 经济推理)
可编码性高:规则可量化,易于回测中:定性判断占比高,难以完全机械化

5.3 流派总览

流派代表工具侧重
价格行为 / 形态K线形态、头肩顶底、2B图形 → 人性模式
指标类MACD、RSI、KDJ、BOLL数据运算 → 统计信号
量价类OBV、放量突破、量价背离成交量验证价格
周期类波浪理论、江恩、斐波那契时间与空间规律
趋势类均线、趋势线、通道、ADX趋势识别与跟随
量化视角:以上流派中,指标类、趋势类、量价类的可编码性最高;形态类近年可通过规则化(如 2B 的「突破-失败-反向」三步骤)编码;周期类(波浪)主观成分高,编码难度大,适合作为辅助过滤而非独立信号源。
PlantUML diagram
用例图:技术分析的六大应用场景(行为图 · 系统做什么)

6. 道氏理论

道氏理论(Dow Theory)由 Charles Dow 提出,是现代技术分析的基石。它首次系统定义了「趋势」,并给出趋势持续与反转的判定框架。绝大多数趋势策略(均线、通道、突破)都是道氏理论的操作化。

6.1 趋势的定义与分类

级别持续时间典型策略适配
主要趋势(Primary)数月 ~ 数年长期持有、周线波段
次要趋势(Secondary)数周 ~ 数月波段交易、均线交叉
短期趋势(Minor)数日 ~ 数周短线、分钟级突破
专有名词: Higher High(HH):高于前一个高点的当前高点,上升趋势确认。
Higher Low(HL):高于前一个低点的当前低点,上升趋势的支撑证据。
Lower High(LH)/ Lower Low(LL):下降趋势的对应定义。

6.2 反转的确认信号

道氏理论最重要的观点是:趋势反转需要确认,即前一个趋势方向最后一个未被突破的极值被反向穿越(L/H 被破坏)。例如上升趋势中,价格跌破最后一个显著低点(HL),才确认趋势可能反转。这一思想直接衍生出「突破入场」「趋势线破坏」「2B 假突破」等具体策略。

7. K线理论

K线(Candlestick,蜡烛图)由日本米市交易者 Munehisa Homma 发展,现为全球最通用的价格记录方式。单根K线编码了开盘(Open)、最高(High)、最低(Low)、收盘(Close)四要素,其形态反映多空力量对比。

7.1 单根K线含义

要素含义量化用途
实体(Body)开盘与收盘之间;阳线(close>open)为多头主导涨跌方向、动能
上影线(Upper Shadow)冲高后回落,多头承压顶部压力
下影线(Lower Shadow)探低后拉起,空头受挫底部支撑
全实体 / 光头光脚极端单边强趋势信号

7.2 经典组合形态

形态结构信号可编码要点
吞没(Engulfing)阳线实体完全包裹前一根阴线底部反转看涨close[i] > open[i-1] 且 open[i] < close[i-1]
孕线(Harami)小实体被前一根大实体完全包含反转犹豫、收敛open[i] 在前根区间内
十字星(Doji)开盘≈收盘,上下影线明显多空僵持、可能变盘|close-open| ≤ 某阈值×振幅
锤头 / 上吊线(Hammer/Hanging Man)下影线长、实体小低位看涨 / 高位看跌下影线 ≥ 2×实体
三只乌鸦 / 三白兵连续三根同向K线持续或反转连续 3 根阳线且均创新高
专有名词: 实体(Body):开盘与收盘价格之间的矩形区域。
影线(Shadow/Wick):实体之外到最高/最低价的细线。
阳线(Bullish):收盘高于开盘;阴线(Bearish):收盘低于开盘。

8. 趋势与支撑阻力

8.1 支撑/阻力互换

支撑(Support)与阻力(Resistance)是价格反复测试后形成的心理价位。其核心规律是角色互换:一旦被有效突破,原来的阻力变为新的支撑,反之亦然。这一现象是「突破回踩」策略的理论基础。

8.2 假突破(2B)

假突破(False Breakout / 2B Rule)出自 Victor Sperandeo《专业投机原理》,是技术分析中最重要的反转形态之一。它描述的是:价格突破前高/前低后,因后续动能不足而快速反向收回,构成反转预警。

2B 规则(做顶):
  1. 确定前高(1 点);
  2. 价格冲破前高创新高(2 点),但很快(3~5 根K线内)跌回前高之下收盘 → 顶部 2B;
  3. 入场:收盘跌回前高下方做空;
  4. 止损:放在 2 点新高上方;目标:前一波回调低点。
2B 规则(做底):对称反向——跌破前低创新低后快速收回前低之上,做多。

要点:时间要求(拖太久信号失效);本质是识别「突破方没能跟上」;与量能背离、支撑阻力密集区配合使用更有效。2B 是少数能被严格规则化的反转形态,常作为反转类策略的入场核心。

8.3 趋势识别的编码实现

本节把 6.1 的趋势定义(HH/HL/LH/LL)落到可编码的算法,是 10.1 各趋势跟踪策略与 M2 斐波那契中 detect_swing 调用的底层依赖。核心分两步:先从原始K线找出摆动点(Swing High / Swing Low),再从摆动点序列判定高低点结构(HH/HL/LH/LL)与趋势方向。代码沿用全文约定:bars 为按时间正序排列的K线数组,每根含 open/high/low/close/volume/ts。

8.3.1 摆动点检测(Swing High / Swing Low)

摆动点是「局部极值」:某根K线的高点若为左右各 k 根中的最高,记为一个 Swing High;低点为左右各 k 根中的最低,记为一个 Swing Low。k 越大越稳健但越滞后(漏掉小摆动),k 越小越灵敏但噪音越多。

def detect_swing(bars, k=2):
    # 返回摆动点序列,每项 (idx, kind, price),kind 为 'H' 或 'L'
    swings = []
    for i in range(k, len(bars) - k):
        win_high = max(bars[j].high for j in range(i - k, i + k + 1))
        win_low  = min(bars[j].low  for j in range(i - k, i + k + 1))
        if bars[i].high == win_high:
            swings.append((i, 'H', bars[i].high))
        if bars[i].low == win_low:
            swings.append((i, 'L', bars[i].low))
    return swings

局限性与研究结论:摆动点需在右确认 k 根后才确定,是滞后指标(最后一根 Swing 天然不确定);可用 ATR 最小摆动幅度过滤(相邻摆动价差 < min_move 时合并),消除微小抖动。这是所有结构识别(HH/HL、趋势线、斐波那契回调)的公共地基。

8.3.2 判定 HH/HL/LH/LL 结构

在摆动点序列上,依次比较相邻的同类摆动点:同升序为 HH/HL(上升结构),同降序为 LH/LL(下降结构)。

def label_structure(swings):
    highs = [(p, idx) for idx, kind, p in swings if kind == 'H']
    lows  = [(p, idx) for idx, kind, p in swings if kind == 'L']
    out = {}
    for (p1, _), (p2, _) in zip(highs, highs[1:]):
        out['HH' if p2 > p1 else 'LH'] = out.get('HH' if p2 > p1 else 'LH', 0) + 1
    for (p1, _), (p2, _) in zip(lows, lows[1:]):
        out['HL' if p2 > p1 else 'LL'] = out.get('HL' if p2 > p1 else 'LL', 0) + 1
    return out   # 计数最近的 HH/HL/LH/LL 结构

8.3.3 趋势方向判定

上升趋势 = 最近 min_structure 组高低点同时呈 HH + HL;下降趋势 = 同时呈 LH + LL;否则为横盘。结构识别为主口径,ADX/均线排列仅作可选辅助确认(见第 9 节),避免单一指标误判。

最近结构判定示例
HH + HL上升趋势(做多方向)高点抬高且低点抬高
LH + LL下降趋势(做空方向)高点降低且低点降低
混合 / 无连续结构横盘(趋势未确认)区间震荡,禁用趋势策略
def trend_direction(swings, min_structure=2):
    s = label_structure(swings)
    if s.get('HH', 0) >= min_structure and s.get('HL', 0) >= min_structure:
        return 'up'
    if s.get('LH', 0) >= min_structure and s.get('LL', 0) >= min_structure:
        return 'down'
    return 'flat'

8.3.4 道氏反转确认的编码

衔接 6.2:趋势反转需确认——上升趋势中收盘跌破最后一个显著低点(HL)才判反转。这一规则把 8.1 的支撑突破、8.2 的 2B 统一到「结构被破坏」这一判定上。

def reversal_signal(bars, swings, direction):
    if direction == 'up':
        last_hl = min((p for idx, kind, p in swings if kind == 'L'), default=None)
        return last_hl is not None and bars[-1].close < last_hl   # 跌破最后 HL → 反转预警
    if direction == 'down':
        last_lh = max((p for idx, kind, p in swings if kind == 'H'), default=None)
        return last_lh is not None and bars[-1].close > last_lh   # 升破最后 LH → 反转预警
    return False

局限性与研究结论:结构识别天然滞后(需摆动点右侧确认),适合做中低频趋势判定的地基,不宜用于高频;高频场景通常直接用均线/通道等实时指标替代。结构法 vs 指标法对照可参考第 9 节。

9. 市场状态分类

一个稳健的策略库应先判断市场处于何种状态,再匹配合适策略。最常见的分类是「趋势 / 震荡 / 单边」三态(或再加「低波动待变」态)。

状态特征识别指标适配策略
上升 / 下降趋势HH/HL 或 LH/LL 结构ADX>25、均线多头/空头排列趋势跟踪类
震荡区间反复、无明确方向ADX<20、BOLL 带宽收窄反转类、均值回归类
单边(爆发)连续大实体、放量BOLL 带宽扩张、ATR 放大突破类、动量类
低波动待变BOLL 收口、波动率压缩带宽处于历史低位波动率突破预备
专有名词: ADX(Average Directional Index):平均趋向指标,衡量趋势强度(非方向)。ADX>25 通常视为强趋势。
ATR(Average True Range):平均真实波幅,衡量波动幅度,常用于止损与仓位设置。
PlantUML diagram
活动图:技术分析驱动的交易决策主流程(行为图 · 核心主流程细化)

10. 技术分析策略规格库

以下策略均整理自公开的技术分析研究成果,每个策略给出一份可编码规格:类型、适用市场、参数、入场/出场逻辑(Python 风格伪代码)、局限性与研究结论。文档不绑定任何具体实现系统,伪代码中的 bars 为按时间正序排列的K线数组,每根包含 open/high/low/close/volume/ts。

PlantUML diagram
部署图:策略库分层架构(结构图 · 宏观架构,数据层→指标层→信号层→策略层→风控层)
PlantUML diagram
包图:技术分析策略分类体系(结构图 · 子系统划分,六大策略类别及其互补关系)

10.1 趋势跟踪类(Trend Following)

策略 T1:双均线交叉(MA Crossover)

参数默认值推荐范围说明
fast_period53 ~ 15短期均线周期
slow_period2010 ~ 60长期均线周期
adx_filter2015 ~ 25低于此值不做多(趋势过滤)
fast = MA(close, fast_period)
slow = MA(close, slow_period)
adx  = calc_adx(bars, 14)

long_enter = fast[-1] > slow[-1] and fast[-2] <= slow[-2] and adx[-1] >= adx_filter
long_exit  = fast[-1] < slow[-1]

出场/止损:反向交叉出场;或加 ATR 止损。

局限性与研究结论:震荡市中频繁假交叉、回撤大;胜率通常不足 40%,靠盈亏比取胜(趋势利润覆盖震荡亏损)。历史研究(如 Faber 2007 年《A Quantitative Approach to Tactical Asset Allocation》)表明双均线在股票指数上显著降低回撤。

参考实现:mementum/backtrader(内置 SmaCross 示例,官方文档首页即是);rbhatia46/Dual-Moving-Average-Crossover-Python(AAPL 两年数据回测)。

策略 T2:唐奇安通道突破(Donchian Channel Breakout)

参数默认值推荐范围说明
entry_period2010 ~ 55突破入场通道长度
exit_period105 ~ 20反向出场通道长度
vol_filter1.21.0 ~ 1.5放量倍数过滤(可选)
hh = max(high[-entry_period-1:-1])   # 不含当前K线
ll = min(low[-entry_period-1:-1])
exit_ll = min(low[-exit_period-1:-1])

long_enter = close[-1] > hh and (vol[-1] >= vol_filter * mean(volume, 20))
short_enter = close[-1] < ll
long_exit  = close[-1] < exit_ll
short_exit = close[-1] > max(high[-exit_period-1:-1])

局限性与研究结论:趋势启动初期入场,抓大波段;震荡市被反复止损。著名的 Turtle Trading(海龟交易法则)即此策略框架,其核心经验是「让利润奔跑、截断亏损」。

参考实现:mementum/backtrader(官方 Strategy Examples 中的 DonchianChannelBreakout);je-suis-tm/quant-trading(趋势/突破类脚本合集)。

策略 T3:均线排列 + 葛兰碧法则(Granville's Rules)

葛兰碧(Joseph Granville)给出 8 条均线与价格关系的买卖法则,核心思想:均线既是支撑/阻力,也是趋势标尺。

bullish_align = all(ma5[-1] > ma10[-1] > ma20[-1])
overshoot = close[-1] / ma20[-1] - 1 > dev_threshold   # 乖离过大预警

局限性与研究结论:均线天然滞后,适用于趋势明确的标的;乖离阈值需按标的波动率标定(可用 ATR 归一化)。

参考实现:mementum/backtrader(均线系统/乖离示例,内置 SMA/EMA 指标)。

策略 T4:ADX 趋势过滤(Trend Strength Filter)

ADX 不给出方向,只给强度,是趋势策略的「开关」而非信号源。

adx = calc_adx(bars, 14)
trend_mode = adx[-1] >= 25         # 强趋势,启用趋势策略
range_mode = adx[-1] <= 20         # 震荡,启用反转策略

局限性与研究结论:ADX 滞后性强,常与均线交叉、通道突破组合成「趋势策略只在强趋势开启」的过滤器,显著降低震荡市中的无效交易。

参考实现:mementum/backtrader(内置 ADX 指标);mrjbq7/ta-lib(ADX/标准指标库)。

策略 T11:海龟唐奇安突破(Turtle System)

参数默认值推荐范围说明
entry_lookback (N)2010 ~ 55进场通道长度:收盘突破最近 N 根最高/最低进场
exit_lookback (M)105 ~ 20退出通道长度:持仓中跌破/突破最近 M 根通道退出
position_pct100%—仓位比例(海龟原版按 ATR 分档加仓,简化版常满仓/固定)
hh = max(high[-entry_lookback-1:-1])     # 不含当前K线
ll = min(low[-entry_lookback-1:-1])
exit_ll = min(low[-exit_lookback-1:-1])
exit_hh = max(high[-exit_lookback-1:-1])

long_enter  = flat and close[-1] > hh     # 空仓时收盘突破 → 做多进场
short_enter = flat and close[-1] < ll     # 空仓时收盘跌破 → 做空进场
long_exit   = holding_long and close[-1] < exit_ll    # 退出回空仓,不反手
short_exit  = holding_short and close[-1] > exit_hh

出场/止损:M 根反向通道退出回空仓(不复开),空仓后再等新突破进场;与策略 T2 的区别在于 T2 反向即反手、Turtle 明确「退出后等待」。海龟原版按 ATR 分档加仓、以入场通道为原始止损,本规格为单仓位简化版。

局限性与研究结论:趋势启动初期入场,「让利润奔跑、截断亏损」,趋势市表现突出;震荡市被反复止损。N/M 越大信号越滞后、交易越少;海龟实证与后续研究(Faber 2007 等)均表明长周期通道在指数趋势上的回撤控制优于短线。

参考实现:mementum/backtrader(DonchianChannelBreakout 示例,即海龟法则框架)。

策略 T12:Supertrend ATR 趋势

参数默认值推荐范围说明
atr_period1410 ~ 21ATR 周期(Wilder 平滑)
multiplier3.01.5 ~ 4.0通道倍数:supertrend 带 = 中价 ± mult × ATR
tr  = max(high - low, abs(high - prev_close), abs(low - prev_close))
atr = wilder_smooth(tr, atr_period)       # 首值 SMA(period),之后递推
mid = (high + low) / 2
basic_upper = mid + multiplier * atr
basic_lower = mid - multiplier * atr
# 最终通道:basic 更收紧或前收已穿越旧带 → 跟随 basic,否则维持旧带
final_upper = basic_upper if (basic_upper[-1] < final_upper[-2] or close[-2] > final_upper[-2]) else final_upper[-2]
final_lower = basic_lower if (basic_lower[-1] > final_lower[-2] or close[-2] < final_lower[-2]) else final_lower[-2]
# supertrend 线:前收在上通道下方 → 跟上通道,否则跟下通道
st_line = final_upper[-1] if close[-2] <= final_upper[-1] else final_lower[-1]

long_enter  = close[-1] > st_line and trend != 'long'     # 收盘穿越 → 翻多
short_enter = close[-1] < st_line and trend != 'short'    # 收盘穿越 → 翻空

出场/止损:无独立止损——反向穿越 supertrend 线即反手,始终在趋势中(与策略 T6 抛物线 SAR 同族的跟踪翻转逻辑)。

局限性与研究结论:ATR 自适应通道天然匹配波动率,趋势市胜率与盈亏比好,震荡市翻转频繁;ATR 平滑方式(Wilder/SMA/EWM)与 multiplier 对结果敏感,建议在 1.5 ~ 4.0 内按品种标定。为 freqtrade 社区最热门的趋势模板之一,常叠加多周期确认过滤假翻转。

参考实现:freqtrade/freqtrade-strategies(user_data/strategies/Supertrend.py)。

10.2 反转类(Reversal)

策略 R1:2B 战法(False Breakout Reversal)

参数默认值推荐范围说明
lookback2010 ~ 40前高/前低回看窗口
fail_bars32 ~ 5突破后失败确认的时间窗
prior_high = max(high[-lookback-2:-2])      # 1 点:前高
new_high = high[-1] > prior_high and close[-2] > prior_high
# 突破创新高后 N 根内收盘收回前高之下 → 顶部 2B
top2b = new_high and close[-1] < prior_high
short_enter = top2b                          # 入场做空
stop = new_high_price + atr * 1.5            # 止损放新高上方

出场/止损:止损于 2 点新高上方(做空)或新低下方(做多);目标为前波段回调极值。

局限性与研究结论:在真实突破与假突破之间需靠时间窗与量能甄别;单独使用胜率中等,叠加趋势状态过滤(只在震荡或反趋势)可提升。为可严格编码的少数反转形态之一。

参考实现:je-suis-tm/quant-trading(含 London Breakout 等突破/反转脚本,思路同源)。

策略 R2:RSI 背离(Divergence)

参数默认值推荐范围说明
period149 ~ 21RSI 周期
overbought7070 ~ 80超买阈值
oversold3020 ~ 30超卖阈值
rsi = calc_rsi(close, period)

def bullish_divergence():
    # 价格创新低,RSI 未创新低
    return low[-1] < low[-div_window] and rsi[-1] > rsi[-div_window]

long_enter = bullish_divergence() and rsi[-1] < oversold

局限性与研究结论:背离常领先价格数根K线(可能过早入场);强趋势中背离可能钝化(连续背离)。研究(Wilder 提出)表明 RSI 更适合震荡环境。

参考实现:je-suis-tm/quant-trading(含 RSI 背离脚本);mrjbq7/ta-lib(RSI 指标)。

策略 R3:头肩顶/底(Head & Shoulders)

头肩形态是三峰结构:左肩 → 头部(最高)→ 右肩,颈线连接两峰之间的低点。

# 规则化近似:识别三个峰 + 颈线突破
left, head, right = detect_three_peaks(bars)     # 头部最高,左右肩次之
neckline = min(close_between(left, head), close_between(head, right))
head_and_shoulders = head > left and head > right and right_is_lower_than_head
short_enter = head_and_shoulders and close[-1] < neckline    # 跌破颈线入场
target = neckline - (head - neckline)           # 量度目标=颈线-头部到颈线的高度

局限性与研究结论:形态识别主观性强、难精确编码,回测中的「形态发现」易过拟合;量度目标有参考价值但非保证。

参考实现:je-suis-tm/quant-trading(含 Pattern Recognition 形态识别脚本)。

策略 R4:双顶/双底(Double Top / Bottom)

# 双顶:两次冲高到近似同一高度后回落,跌破两峰之间的谷底
top1 = find_local_peak(high, w)
top2 = find_local_peak(high, w)
double_top = abs(top1 - top2) < tolerance and price fell between
short_enter = double_top and close[-1] < valley_between

局限性与研究结论:双顶/双底是 2B 的「更弱一级」变体,级别(两个峰的时间跨度)越大越可靠。

参考实现:je-suis-tm/quant-trading(含 Pattern Recognition 形态脚本)。

策略 R5:吞没/锤头反转(K-line Reversal)

bull_engulf = open[-1] <= close[-2] and close[-1] >= open[-2] \
              and close[-1] > close[-2] and prev_was_bearish
hammer = (min(open[-1], close[-1]) - low[-1]) >= 2 * abs(close[-1] - open[-1]) \
         and in_oversold_area
long_enter = (bull_engulf or hammer) and trend_filter_allows_long

局限性与研究结论:单根/两根K线信号噪音大,必须配合支撑位或超卖区使用,不宜单独成策略。

参考实现:je-suis-tm/quant-trading(含 Shooting Star / Heikin-Ashi 等 K 线脚本)。

10.3 波动率类(Volatility)

策略 V1:布林带(Bollinger Bands)

参数默认值推荐范围说明
period2010 ~ 30中轨均线周期
mult2.01.5 ~ 3.0标准差倍数
deviation0.950.9 ~ 1.0触碰判定容差(相对于带宽)
upper = ma20 + mult * std20
lower = ma20 - mult * std20

# 均值回归:触上轨回落做空 / 触下轨反弹做多
touch_upper = high[-1] >= upper * (1 - deviation)
revert_short = touch_upper and close[-1] < close[-2]
# 波动率突破:带宽收缩后爆发
bandwidth = (upper - lower) / ma20
squeeze = bandwidth[-1] < percentile(bandwidth, 20)

局限性与研究结论:触轨≠必然反转,需结合动量与趋势过滤;「布林带收缩 → 扩张」是经典的波动率突破预警。注意统计口径:总体标准差 vs 样本标准差(pstdev/sample stdev)对带宽影响显著。

参考实现:mementum/backtrader(官方 Strategy Examples 中的 BollingerBandsMeanReversion);je-suis-tm/quant-trading(Bollinger Bands 脚本)。

策略 V2:ATR 动态止损与仓位(Volatility-based Position Sizing)

atr = calc_atr(bars, 14)
stop_distance = atr * atr_mult          # 默认 atr_mult=2
stop_price = enter_price - stop_distance        # 做多
position_size = risk_budget / stop_distance      # 固定风险金额反推仓位

局限性与研究结论:ATR 止损让止损随波动自适应,避免「固定点数在波动放大时被瞬杀」。这是 Turtle 与多数专业基金的标准做法。

参考实现:mementum/backtrader(内置 ATR 指标与 Sizer 仓位模块)。

策略 V3:保利加格带宽突破(Bandwidth Expansion Breakout)

bandwidth = (upper - lower) / ma20
expansion = bandwidth[-1] > k * MA(bandwidth, 20)
# 带宽扩张 + 价格突破近期区间 → 顺势入场
long_enter = expansion and close[-1] > max(high[-lookback:-1])

局限性与研究结论:波动率扩张常伴随强趋势启动,适合在低波动待变后捕捉爆发段。

参考实现:je-suis-tm/quant-trading(布林带/波动率类脚本)。

策略 V4:Dual Thrust 区间突破

参数默认值推荐范围说明
lookback4820 ~ 120Range 计算回看 K 线根数
k10.50.3 ~ 0.7上破系数:上阈值 = 前收 + K1×Range
k20.50.3 ~ 0.7下破系数:下阈值 = 前收 - K2×Range
hh = max(high[-lookback-1:-1]);  lc = min(close[-lookback-1:-1])
hc = max(close[-lookback-1:-1]); ll = min(low[-lookback-1:-1])
rng = max(hh - lc, hc - ll)          # 核心 Range:取「最高高-最低收」与「最高收-最低低」较大者
upper = close[-2] + k1 * rng         # 上破阈值(以本根前收为基准)
lower = close[-2] - k2 * rng         # 下破阈值

long_enter  = close[-1] > upper      # 收盘上破 → 做多
short_enter = close[-1] < lower      # 收盘下破 → 做空
# 反向突破即反手:由对侧阈值驱动,无独立止损

出场/止损:无独立止损——反向突破另一侧阈值即反手离场。经典日内版(Dual Thrust 原始定义)以「开盘价±K×Range」为阈值、收盘清仓不过夜;本规格为通用 K 线版(以本根前收为基准,适合连续 K 线回测)。

局限性与研究结论:Range 衡量近期波动区间,突破即「波动率扩张」入场,适合捕捉启动段;震荡日假突破频繁。K1/K2 可非对称(多空信号不对称的品种设 K1≠K2)。原始策略由 Universal Technical Systems 创始人提出,多用于日内期货。

参考实现:je-suis-tm/quant-trading(Dual Thrust backtest.py,日内版)。

10.4 持续形态类(Continuation Patterns)

持续形态出现在趋势中途,含义是「休整后沿原方向继续」。

形态结构入场量度目标
旗形 / 三角旗形(Flag/Pennant)快速拉升后的小幅反向整理通道/三角突破整理区间上沿约等于旗杆高度
楔形(Wedge)收敛的倾斜通道突破上沿楔形高度投影
对称三角形(Sym. Triangle)高降低、低抬高的收敛突破方向(趋势方向优先)三角形底边高度
矩形(Rectangle)水平震荡箱体突破箱体边界箱体高度
# 旗形突破(上升旗)示例
pennant_high = max(high[-consolidation:])
consolidation_slope = slope(regression(close, consolidation))
flag_breakout = prior_rally and consolidation_slope ≈ 0 and close[-1] > pennant_high
long_enter = flag_breakout
target = breakout_price + flagpole_height

局限性与研究结论:持续形态在趋势明确时成功率更高;形态定义依赖人工/启发式,需谨慎回测避免过拟合。

10.5 周期与动量类(Cycle & Momentum)

策略 M1:MACD 金叉/死叉与背离(MACD)

参数默认值推荐范围说明
fast128 ~ 20快线 EMA
slow2620 ~ 40慢线 EMA
signal97 ~ 12信号线
dif = ema(close, fast) - ema(close, slow)
dea = ema(dif, signal)
macd_hist = dif - dea

long_enter = dif[-1] > dea[-1] and dif[-2] <= dea[-2]      # 金叉
# 顶背离:价格创新高,MACD 高点降低 → 反转预警

局限性与研究结论:零轴上方金叉胜率更高;背离为左侧信号,常被用于辅助趋势策略出场。MACD 由 Gerald Appel 提出,是应用最广的动量指标。

参考实现:je-suis-tm/quant-trading(含 MACD 脚本)。

策略 M2:斐波那契回调与扩展(Fibonacci Retracement)

swing_high, swing_low = detect_swing(bars)
retrace_levels = [0.382, 0.5, 0.618]
# 回调至 0.5/0.618 未破前低 → 顺势买入(上升趋势)
long_enter = pullback_hits(swing_high, swing_low, 0.618) and trend_up
target = swing_high + (swing_high - swing_low) * 0.618      # 扩展目标

局限性与研究结论:斐波那契是「自我实现的预言」——因众多交易者关注而生效;水平位置为概率优势区域而非精确保证。

参考实现:无直接专仓(主观回撤工具),指标见 mrjbq7/ta-lib 与 wilsonfreitas/awesome-quant 目录。

策略 M3:波浪理论概要(Elliott Wave)

艾略特波浪理论将价格走势拆分为推动浪(5 浪)与调整浪(3 浪),并强调斐波那契比例关系。其主观成分高,难以机械编码,通常作为宏观位置判断的辅助(如判断当前处于第 3 主升浪)。

局限性与研究结论:浪的划分经常在事后才唯一清晰;不宜作为独立信号源,适合与趋势指标互相印证。

参考实现:无直接专仓(主观性高、难编码),见 wilsonfreitas/awesome-quant 目录。

10.6 量价类(Volume-Price)

策略 Q1:放量突破 / 缩量回调(Breakout on Volume)

vol_ratio = volume[-1] / mean(volume, 20)
breakout_vol = vol_ratio >= 1.5 and close[-1] > prior_resistance
# 突破需放量,回调应缩量(缩量=惜售/惜买)
pullback_shrink = mean(volume[-5:]) < 0.8 * mean(volume, 20)

局限性与研究结论:成交量是价格运动的「燃料」,放量突破比缩量突破更可信;缩量回调是健康的趋势中继。量价规则简单但在不同市场有效性差异大,需按品种标定阈值。

参考实现:je-suis-tm/quant-trading(量价/突破类脚本)。

策略 Q2:量价背离(Volume-Price Divergence)

# 价格创新高,成交量未创新高 → 上涨动能衰竭
price_new_high = high[-1] > max(high[-lookback:-1])
vol_not_new_high = volume[-1] < max(volume[-lookback:-1])
distribution = price_new_high and vol_not_new_high   # 出货预警

局限性与研究结论:量价背离常出现在顶部/底部的反转前夜,是左侧预警信号。

参考实现:je-suis-tm/quant-trading(量价类脚本)。

策略 Q3:OBV 动量(On-Balance Volume)

obv = [0] * len(bars)
for i in range(1, len(bars)):
    if close[i] > close[i-1]:  obv[i] = obv[i-1] + volume[i]
    elif close[i] < close[i-1]: obv[i] = obv[i-1] - volume[i]
    else: obv[i] = obv[i-1]
# OBV 趋势与价格趋势一致 → 确认;背离 → 预警

局限性与研究结论:OBV 把「资金流」线性累积,方向比绝对值更有意义;对除权、拆股不敏感问题需要处理。

参考实现:mrjbq7/ta-lib(内置 OBV 指标)。

10.7 补充策略规格

补齐技术分析内部常用但上面未覆盖的工具:随机指标 KDJ、抛物线 SAR、%B 与带宽、Ichimoku 一目均衡、VWAP 策略。规格级别同本部分其它策略。

策略 T5:KDJ 随机指标

参数默认值说明
n9RSV 回看周期
k_smooth / d_smooth3 / 3K、D 的 SMA 平滑
overbought / oversold80 / 20超买/超卖阈值
rsv = (close - min(low, n)) / (max(high, n) - min(low, n)) * 100
k = SMA(rsv, k_smooth); d = SMA(k, d_smooth)
j = 3 * k - 2 * d
# 用法:K 上穿 D 且处于低位 → 买;高位 J>100 超买预警
long_enter = k[-1] > d[-1] and k[-2] <= d[-2] and d[-1] < oversold + margin

局限性与研究结论:KDJ 对短线反应快、噪音大,常用于 A股短线;震荡有效、强趋势钝化,需趋势过滤。

参考实现:mrjbq7/ta-lib(STOCH 随机指标);mementum/backtrader(内置随机指标)。

策略 T6:抛物线 SAR(停损转向)

sar, trend = calc_sar(high, low, af=0.02, af_max=0.2)   # 加速度因子 0.02→0.2
# SAR 点从上方逐步逼近价格,被价格穿越 → 反转(止损离场并反向)
long_while = close > sar and trend == 'up'
if close[-1] < sar[-1] and close[-2] >= sar[-2]:   # SAR 翻转
    exit_long(); maybe_enter_short()

局限性与研究结论:SAR 本质是跟踪止损系统,趋势市表现好;震荡市被反复「打脸」。适合作为出场管理器叠加在趋势入场之上。

参考实现:je-suis-tm/quant-trading(Parabolic SAR 脚本);mrjbq7/ta-lib(SAR 指标)。

策略 T7:%B 与带宽

boll = BOLL(close, 20, 2.0)
pct_b = (close - lower) / (upper - lower)        # %B:0=下轨, 1=上轨
bandwidth = (upper - lower) / middle
# %B 过 0/1 + 带宽收窄 → 均值回归信号;带宽突破历史低位 → 扩张预备
mean_revert_buy = pct_b[-1] < 0 and bandwidth_pctile < 20

局限性与研究结论:%B 将触轨量化到 0~1,便于阈值化与回测;带宽是「波动率压缩」的标准量化。

参考实现:mementum/backtrader(内置 %B / 带宽指标)。

策略 T8:Ichimoku 一目均衡表

参数默认值说明
tenkan / kijun9 / 26转换线与基准线
senkou_b52先行带 B
chikou_shift26迟行线平移
tenkan = (max(high,9)+min(low,9))/2
kijun  = (max(high,26)+min(low,26))/2
senkou_a = (tenkan+kijun)/2 shifted +26          # 先行带 A
senkou_b = (max(high,52)+min(low,52))/2 shifted +26
cloud = between(senkou_a, senkou_b)               # 云区
# 价格在云上=多头;云为动态支撑/阻力;tenkan/kijun 金叉为入场
long_filter = close > senkou_a and close > senkou_b

局限性与研究结论:Ichimoku 是一个完整交易系统(趋势+动态支撑+时间过滤),日线传统参数 9/26/52;对参数不敏感于单指标,但需完整理解各线关系。

参考实现:mementum/backtrader(内置 Ichimoku 指标)。

策略 T9:VWAP 策略(成交量加权均价)

# 日内 VWAP:从开盘累计 (价格×成交量) / 累计成交量
vwap = cumsum(typical_price * volume) / cumsum(volume)     # 当日
# VWAP 是日内机构基准:价在 VWAP 上偏多、下偏空
long_enter = intraday_price > vwap and vwap_trend_up
# 也用于判断入场价好坏:偏离 VWAP 过大不宜追

局限性与研究结论:VWAP 在日内交易与大单执行评估常用;单日重置,跨日需另行处理。对短线噪音敏感。

参考实现:mementum/backtrader(内置 VWAP 指标与示例);freqtrade/freqtrade(加密日内框架含 VWAP 策略模板)。

策略 T10:开盘区间突破(Opening Range Breakout, ORB)

参数默认值推荐范围说明
range_minutes155 ~ 60开盘后定义区间高低的时间窗
breakout_buffer0.05%0 ~ 0.2%突破确认缓冲(相对区间高度)
vol_filter1.51.0 ~ 2.5突破需放量倍数(可选)
stop_typerange_midrange_mid / atr止损位=区间中点或 ATR 倍数
rr1.51.0 ~ 3.0止盈=初始风险×盈亏比
eod_exit15:30收盘前日内策略,收盘强制平仓不过夜
# 开盘 N 分钟的高 / 低 = 当日开盘区间 (Opening Range)
or_high = max(high[0:range_minutes]); or_low = min(low[0:range_minutes])
mid = (or_high + or_low) / 2

# 收盘价有效突破区间 + 放量确认 → 顺向入场(当日仅一次)
vol_ratio = volume[-1] / mean(volume, 20)
long_enter  = close[-1] > or_high + buffer and vol_ratio >= vol_filter
short_enter = close[-1] < or_low - buffer and vol_ratio >= vol_filter
stop = mid if stop_type == 'range_mid' else enter_price - atr * 2
target = enter_price + (enter_price - stop) * rr
if now >= eod_exit: force_close()      # 收盘前平仓

局限性与研究结论:ORB 依赖开盘时段波动与流动性,最适用于股指期货/大盘股的分钟级数据;开盘区间时长、缓冲、量能阈值对结果敏感,须按品种标定;震荡日假突破频繁,叠加量能 / ADX 趋势过滤可显著提升胜率(研究级实现常见 0.5%~0.2% 缓冲 + 1.5 倍量能过滤)。

参考实现:umerdawood23/Opening-Range-Breakout-Strategy-in-Python(ORB 回测器)、saurav-1980/ORB-strategy-(研究级回测引擎,ATR 仓位/量能过滤/绩效报告)、vp275/pj_orb_backtester(Zerodha 版,印度市场)。

10.8 期权与波动率交易(Options & Volatility)

期权是「交易波动率」最直接的载体:隐含波动率(IV)与已实现波动率(RV)之差——方差风险溢价(VRP)——是期权卖方长期收割的核心收益来源。以下策略把波动率当作独立标的来交易,需期权链数据与 Greeks 计算(Black-Scholes 定价 / 数值反解 IV)。

策略 O1:隐含波动率排名(IV Rank / IV 分位)

参数默认值推荐范围说明
window252126 ~ 504IV 排名回看窗口(交易日)
low_th3020 ~ 40IV Rank 低于此值 → 波动率便宜(买方环境)
high_th7060 ~ 80IV Rank 高于此值 → 波动率昂贵(卖方环境)
iv_rank = (iv_now - min(iv[window])) / (max(iv[window]) - min(iv[window])) * 100
long_vol_env  = iv_rank < low_th        # 波动率便宜,倾向买期权(赌升波)
short_vol_env = iv_rank > high_th      # 波动率昂贵,倾向卖期权(收割溢价)

局限性与研究结论:IV Rank 把当前 IV 放到历史分位,避免「IV 绝对值高 ≠ 贵」的误区;它是择时开关而非独立信号,须叠加具体期权结构使用。

参考实现:goldspanlabs/optopsy(期权研究与回测库)、OptionsnPython/Option-strategies-backtesting-in-Python(Greeks/IV 回测教材代码)。

策略 O2:买入跨式 / 宽跨式(Long Straddle / Strangle)

参数默认值推荐范围说明
dte307 ~ 60到期天数(事件前建仓)
strike_modeatmatm / otm跨式=ATM 双买;宽跨式=OTM 双买
event财报/宏观日历—事件驱动的波动爆发窗口
# 事件前建仓:同到期日买 Call + 买 Put(同 strike=跨式,不同 strike=宽跨式)
long_straddle = buy_call(atm, dte) + buy_put(atm, dte)
breakeven_up = atm_strike + (call_prem + put_prem)   # 标的上行到该价才不亏
breakeven_dn = atm_strike - (call_prem + put_prem)
if iv_rank > high_th: skip()    # 事件前 IV 已贵 → 成本高、易被 IV Crush 吃掉

局限性与研究结论:买跨式是「波动率多头」——有限亏损(权利金)、胜率低、盈亏比高;最大敌人是 IV Crush(事件落地后 IV 崩塌,方向对也可能亏)。只应在 IV Rank 低位 + 事件窗口买入,并预判事件日隐含波动「已被计入多少」。

参考实现:je-suis-tm/quant-trading(Options Straddle backtest.py)、mcf-long-short/ibkr-options-volatility-trading(Long/Short Straddle 实盘,IBKR)。

策略 O3:卖出跨式 + Delta 对冲(Short Straddle + Delta Hedge)

参数默认值推荐范围说明
dte3020 ~ 60卖出到期天数
delta_threshold0.100.05 ~ 0.20组合 |Δ| 超阈值触发对冲
trend_filtersma50 偏离 < 5%—强趋势市禁卖波动率
# 卖出 ATM Call + Put(收权利金),每日用标的期货/股票对冲 Delta
short_straddle = sell_call(atm, dte) + sell_put(atm, dte)
if abs(portfolio_delta) > delta_threshold: hedge_with_underlying()
# 收益 ≈ Theta(时间衰减)+ VRP(IV-RV 差)- 交易成本 ± Gamma/Vega PnL
# ΔPnL ≈ -½Γ·S²·(ΔS/S)² + Θ·Δt - ν·Δσ

局限性与研究结论:短跨式 + Delta 对冲是最经典的「收割方差风险溢价」策略(Carr & Wu 2009);风险在短 Gamma——单边剧烈行情下亏损巨大(如 2018-02 Volmageddon)。必须叠加趋势过滤、控制单次仓位,警惕 VIX 突然跳升。

参考实现:umaangk13/Delta-Neutral-Volatility-Arbitrage-Engine(短跨式+连续 Delta 对冲+Theta/Gamma/Vega PnL 归因)、kartikmunjal/options-vol-research(IV 曲面 + VRP 收割回测)。

策略 O4:铁鹰 / 垂直价差(Iron Condor / Vertical Spread)

参数默认值推荐范围说明
dte4530 ~ 60到期天数
strike_loc±1σ±1 ~ ±1.5σ卖出腿按 IV 预期波动定位置
credit_ratio30%20% ~ 40%净权利金占价差宽度比(盈亏比)
# 铁鹰 = 卖出 OTM Call 价差 + 卖出 OTM Put 价差(买腿封死尾部)
iron_condor = sell_call_spread(above_1sd, dte) + sell_put_spread(below_1sd, dte)
max_loss = width - net_credit
max_profit = net_credit
# 动态调节:用当前 IV 估计 1SD 预期波动 → 高 IV 时腿更宽更靠外
expected_move = spot * iv * sqrt(dte / 365)

局限性与研究结论:铁鹰用买腿封住尾部风险,换取「有限收益/有限风险」的高胜率结构;核心是把卖出腿定在基于 IV 的 1SD 预期波动之外。胜率可达 70%+,但单次大亏会吃掉多次小赢——止损纪律与仓位控制是生死线。

参考实现:sudheerbez/nifty-options-algorithmic-backtester(VIX 动态调节的铁鹰/跨式回测)、OptionsnPython/Option-strategies-backtesting-in-Python(价差/铁鹰教材代码)。

PlantUML diagram
类图:策略库核心概念关系(结构图 · 内部细节,指标→信号→策略→风控的依赖与产出关系)

Part 3 量化策略理论

本部分补充技术分析之外的量化策略理论来源。每章规格与技术分析同等:理论定义 + 核心公式 + 参数表 + Python 风格伪代码 + 局限性与研究结论。`bars` 为按时间正序 K线序列,`close_prices`/`returns` 等为其派生序列,`asset/bench` 指两只或多只标的的价格序列。

PlantUML diagram
包图:量化交易策略理论全景(Part 2 技术分析 + Part 3 八大理论体系及依赖关系)

11. 统计套利(Statistical Arbitrage)

统计套利(Stat Arb)不押注方向,而是利用相关标的间价差(Spread)的均值回归特性盈利:价差偏离历史均衡后回归。区别于无风险套利,其风险在于「均衡关系被打破」,故须用协整检验确认关系的稳定性。

策略 S1:配对交易(Pairs Trading / 协整 Cointegration)

配对交易的核心是寻找两只价格序列具有协整关系(线性组合平稳)的标的,当价差偏离均值时做多被低估方、做空被高估方,价差回归后平仓。

参数默认值推荐范围说明
train_window6030 ~ 120协整回归/估计的滚动窗口
entry_z2.01.5 ~ 2.5价差 z-score 入场阈值
exit_z0.50 ~ 1.0价差回归至 z-score 出场
stop_z3.53 ~ 5价差继续发散止损
import statsmodels.api as sm

def hedge_ratio(y, x):                     # y = 标的A 价格, x = 标的B 价格
    x_c = sm.add_constant(x)
    model = sm.OLS(y, x_c).fit()           # OLS 回归求对冲比
    return model.params[1], model.resid    # 对冲比 beta, 残差=价差

beta, spread = hedge_ratio(price_a, price_b)
z = (spread - spread.mean()) / spread.std()     # 标准化价差

if z[-1] > entry_z and z[-2] < entry_z:        # 价差过高 → 做空价差
    short_asset_a, long_asset_b               # 空A多B,比例按 beta
if z[-1] < exit_z and position_open:          # 回归 → 平仓
    close_positions()
if abs(z[-1]) > stop_z:                       # 继续发散 → 止损
    stop_loss()

出场/止损:价差回归至 exit_z 平仓;发散超过 stop_z 止损。对冲比例由 beta 决定并按窗口滚动重估。

局限性与研究结论:协整关系的检验功效与样本长度强相关;金融危机期间价差可能长期发散(如 2008)。研究(Gatev et al. 2006)在美股配对样本上获得正超额收益,但拥挤后收益下降。协整 ≠ 相关性:两序列高度相关但不一定协整,须用 ADF 检验残差平稳性。

参考实现:nirajneupane17/Statistical-Arbitrage-Pairs-Trading(协整/ADF/Johansen/z-score/Kelly 全流程);Ivan-Finance/pairs_trading(简化版配对回测)。

专有名词: 协整(Cointegration):两个非平稳序列的线性组合平稳,说明存在长期均衡关系(Engle-Granger)。
ADF 检验(Augmented Dickey-Fuller):单位根检验,用于判断序列/残差是否平稳。
价差(Spread):y - β·x,即对冲后的残差组合。

策略 S2:z-score 均值回归(单标的)

把「价差」概念应用于单一标的相对其均值带:价格相对其移动均值/标准差带偏离过大即反转。

ma = SMA(close, window)
sd = stdev(close, window)
z = (close - ma) / sd

if z[-1] >  entry_z and z[-2] <= entry_z:  short_enter()   # 偏离过高回落做空
if z[-1] < -entry_z and z[-2] >= -entry_z: long_enter()    # 偏离过低回升做多
if abs(z) < exit_z: exit()

局限性与研究结论:均值回归只在震荡市有效,单边趋势中会持续被止损(「接飞刀」)。必须配合市场状态过滤(ADX/趋势斜率)。

参考实现:nirajneupane17/Statistical-Arbitrage-Pairs-Trading(含 z-score 信号与回测引擎)。

策略 S3:Kalman 滤波动态对冲比

静态 OLS 对冲比假设关系恒定;Kalman 滤波允许对冲比随时间演变,适用于关系缓变的对。

from pykalman import KalmanFilter
kf = KalmanFilter(n_dim_obs=1, n_dim_state=2)
state_means, _ = kf.filter(price_a.values)      # 状态含 [beta, alpha]
beta_t = state_means[:, 0]                       # 时变对冲比
spread_t = price_a - beta_t * price_b
# 对 spread_t 用 z-score / 阈值逻辑与 S1 相同

局限性与研究结论:Kalman 响应快于滚动 OLS,但参数(状态噪声)需调优;滤波滞后对实时交易敏感。

参考实现:nirajneupane17/Statistical-Arbitrage-Pairs-Trading(src/signals.py 含 Kalman 滤波对冲比)。

策略 S4:统计套利组合框架(多标的)

将若干配对/价差组合成中性组合,使整体对市场 Beta 敞口≈0,赚取分散化的均值回归收益。

# 组合构建
pairs = [(a_i, b_i) for i in range(n_pairs)]
weights = optimize_neutral_portfolio(pairs)     # 约束 sum(beta_i*w_i)=0
portfolio_pnl = sum(w_i * pnl(pair_i))          # 每日合成组合盈亏
risk_check: stop_all if portfolio_drawdown > max_dd

局限性与研究结论:组合化降低单对风险但引入模型与参数风险;相关性在危机期趋近 1,「分散」失效是主要尾部风险。

参考实现:nirajneupane17/Statistical-Arbitrage-Pairs-Trading(多对组合/中性化框架思路)。

12. 因子投资(Factor Investing)

因子投资将股票收益分解为若干可解释的「风险因子」暴露。它属于横截面(Cross-section)方法:在同一时点比较众多标的,依据某个特征(因子)的高低分组并做多高分、做空低分,赚取特征溢价。

策略 F1:动量因子(Momentum / 横截面)

参数默认值推荐范围说明
lookback12M6 ~ 12 月动量回看窗口(经典 12-1)
skip1M0 ~ 1 月跳过最近一个月(反转效应)
hold1M1 ~ 3 月持有窗口
top_pct / bot_pct10% / 10%5% ~ 30%做多/做空分位
mom = (px_t - px_{t-lookback+skip}) / px_{t-lookback+skip}   # 每只股票动量
# 每期重排:做多动量最高 top_pct,做空动量最低 bot_pct(等权)
def factor_portfolio(returns_df, char_df, top=0.1, bottom=0.1):
    rank = char_df.rank(axis=1, pct=True)
    long_mask  = rank >= (1 - top)
    short_mask = rank <= bottom
    weights = (long_mask.astype(float) - short_mask.astype(float))
    weights = weights.div(weights.abs().sum(axis=1), axis=0)   # 归一化
    return (returns_df * weights).sum(axis=1)

局限性与研究结论:动量是横截面研究中最稳健的异象之一(Jegadeesh & Titman 1993);但存在动量崩溃(Momentum Crash,如 2009),需结合波动过滤。

参考实现:iamzaheen/dax-momentum-backtest(Jegadeesh-Titman 12-1 完整回测)、Kevin20250000000/Quant-Trading---Momentum-Strategy(S&P500 动量 vs 买入持有)。

策略 F2:估值因子(Value)

value_score = 1 / composite_value_ratio          # 如 E/P, B/P, S/P 合成
# 合成常用法:对多个估值比按截面分位打分后取平均
# 做多最便宜,做空最贵

局限性与研究结论:价值因子长期有效(Fama-French),但可能长期「价值陷阱」;价值与动量存在负相关,二者可互补组合。

参考实现:microsoft/qlib(Alpha158 因子集含价值类特征);quantopian/alphalens(因子 IC/分层检验)。

策略 F3:质量因子与低波因子

quality = zscore(ROE) + zscore(profit_margin) + zscore(low_leverage)
low_vol = -zscore(realized_vol_60d)               # 波动越低分数越高
composite = quality_weight * quality + vol_weight * low_vol
# 截面做多高分、做空低分(与 F1 同框架)

局限性与研究结论:低波因子(Betting Against Beta, Frazzini & Pedersen 2014)在多数市场提供风险调整后超额;质量因子防守性强,牛市可能跑输。

参考实现:microsoft/qlib(低波/质量因子示例);quantopian/alphalens(因子评估)。

策略 F4:多因子合成(IC/IR 加权)

参数默认值说明
factor_set[mom, value, quality, lowvol]参与合成的因子
weight_modeic_weight等权 / IC 加权 / IR 加权
rebalance月频调仓频率
def ic_weights(factor_returns, forward_returns):
    # IC = 每期因子值与下期收益的截面相关系数;IR = mean(IC)/std(IC)
    ics = [spearmanr(f, fwd).correlation for f, fwd in zip(...)]
    return ics / sum(abs(x) for x in ics)     # IC 加权

composite_score = sum(w_f * normalize(factor_f) for f in factors)
portfolio = long_top(composite_score, top_pct)   # 多因子选股

局限性与研究结论:多因子降低单因子失效风险;但因子拥挤与数据挖掘(Factor Zoo)问题突出,需样本外与行业中性化处理。

参考实现:microsoft/qlib(多因子组合/模型全流程);quantopian/alphalens(IC/IR 加权评估)。

专有名词: 因子(Factor):能够系统性解释/预测收益的标的特征。
IC(Information Coefficient):因子值与未来收益的截面相关系数,衡量预测力。
Fama-French 三/五因子:市场、规模(SMB)、价值(HML)、盈利(RMW)、投资(CMA) 等系统风险因子。

13. 时间序列建模(Time Series Modeling)

时间序列方法直接对价格/收益/波动率序列建模,用于预测收益方向或估计波动率(风险与仓位输入)。

策略 TS1:ARIMA 收益预测

参数默认值说明
p / d / q由 AIC 自动选择AR / 差分阶 / MA 阶
forecast_horizon1预测步长(K线)
confidence0.8信号需预测方向显著
from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(returns, order=(p, d, q)).fit()
forecast, conf = model.get_forecast(1)
pred = forecast.mean[0]
# 方向信号:预测收益显著为正是做多候选
if pred > 0 and conf_low > 0: long_candidate()

局限性与研究结论:资产收益近随机游走,ARIMA 单独预测方向的边际胜率有限;更常用于残差/价差建模与波动率辅助。金融收益常具厚尾、异方差,ARIMA 假设不满足,需配合 GARCH。

参考实现:statsmodels/statsmodels(官方 ARIMA 文档示例);alkaline-ml/pmdarima(auto_arima 自动定阶)。

策略 TS2:GARCH 波动率预测

收益率的波动存在聚集(Volatility Clustering)——大波动后仍大波动。GARCH 模型刻画条件方差随时间演变,为仓位与止损提供前瞻波动估计。

from arch import arch_model
am = arch_model(returns * 100, vol='Garch', p=1, q=1).fit()
forecast = am.forecast(horizon=1)
vol_pred = np.sqrt(forecast.variance.iloc[-1, 0]) / 100   # 下一期波动率
position_size = risk_budget / (vol_pred * k)               # 波动目标仓位

局限性与研究结论:GARCH(1,1) 常已足够;杠杆效应可用 EGARCH/GJR-GARCH 刻画(跌的波动放大更多)。波动预测比方向预测更可信、应用更广。

参考实现:bashtage/arch(ARCH/GARCH 族官方库,含 EGARCH/GJR)。

策略 TS3:状态空间模型(动态水平)

# 局部水平模型:price = level + noise; level 随机游走
# Kalman 滤波给出平滑的水平估计,价差/回归可基于状态
level_t = kalman_level(price)                 # 状态估计
residual = price - level_t                    # 残差(对状态均值回归)

局限性与研究结论:适合对缓慢漂移的水平做估计,用于趋势分解或价差构造;参数先验影响大。

参考实现:statsmodels/statsmodels(statespace 状态空间/Kalman 平滑);oseiskar/pykalman(轻量 Kalman)。

14. 机器学习(Machine Learning)

机器学习将「信号发现」从人工规则转为数据驱动:从特征(特征工程)学习「特征 → 未来收益」的映射。技术分析/统计套利的方法可作为特征输入 ML 模型,构成混合策略。

策略 ML1:特征工程基础

features = {
  'ret_1': returns(t=1), 'ret_5': returns(t=5), 'ret_20': returns(t=20),
  'rsi14': RSI(close, 14), 'bb_position': (close-ma20)/(2*sd20),
  'vol_ratio': volume / SMA(volume, 20), 'atr_norm': ATR(14)/close,
  'mom_12_1': (px_{t-12}-px_{t-1})/px_{t-1}, 'zscore20': zscore(close, 20),
}
X = build_feature_matrix(bars)          # 每行=某根K线的特征向量
y = sign(forward_return(h))             # 标签=未来 h 期收益方向

要点:特征必须只用 T 时刻及以前的信息(避免前视偏差);标准化/稳健化处理离群值;时间序列切分而非随机切分。

参考实现:microsoft/qlib(特征/因子工程全流程流水线)。

策略 ML2:梯度提升树信号(XGBoost / LightGBM)

参数默认值说明
n_estimators300树数量(早停截断)
max_depth4防止过拟合,浅树更稳
learning_rate0.05学习率
early_stop50验证集早停轮数
train_val_split按时间 70/30禁止随机打乱
import lightgbm as lgb
model = lgb.LGBMClassifier(n_estimators=300, max_depth=4, learning_rate=0.05)
model.fit(X_train, y_train, eval_set=[(X_val, y_val)],
          callbacks=[lgb.early_stopping(50)])
prob_up = model.predict_proba(X_latest)[:, 1]    # P(上涨)
# 信号:prob_up 超过阈值并满足最低持仓/流动过滤后入场

局限性与研究结论:决策树对特征尺度鲁棒、可解释性较好(特征重要性);金融信噪比极低,须克制过拟合——用时间序列交叉验证与样本外留一。论文与实践常见「过拟合的模型在样本外失效」。

参考实现:microsoft/qlib(LightGBM 基线模型,30+ 训练器);microsoft/LightGBM(GBDT 官方库)。

策略 ML3:深度学习时序(LSTM/Transformer)

model = Sequential([
    LSTM(64, return_sequences=True, input_shape=(seq_len, n_feat)),
    Dropout(0.2), LSTM(32), Dense(1, activation='sigmoid')
])
model.fit(X_seq_train, y_train, epochs=50, validation_data=(X_val, y_val))
pred = model.predict(X_seq_latest)[0, 0]

局限性与研究结论:深度模型容量大、易过拟合且难解释;对数据量与特征质量要求高。多数实践显示对噪声序列并不稳定优于 GBDT,常作为组合成员而非唯一信号。

参考实现:microsoft/qlib(LSTM/GRU/Transformer 等深度学习模型)。

策略 ML4:强化学习交易(RL Agent)

# 状态=最近特征窗口;动作=空仓/持仓/仓位变化;奖励=账户收益(含交易成本)
agent = train_dqn(env=portfolio_env, episodes=500)
action = agent.act(state_latest)      # 输出目标仓位

局限性与研究结论:RL 直接优化序列收益,但环境非平稳、奖励噪声大、训练不稳定;交易成本与滑点须进环境否则学到无效策略。

参考实现:AI4Finance-Foundation/FinRL(强化学习交易框架,15k+⭐)。

专有名词: 过拟合(Overfitting):模型记住噪声而非规律,样本外失效。
前视偏差(Look-ahead Bias):错误使用未来信息产生的虚假高收益。
样本外(Out-of-sample):未参与训练的数据,用于验证真实泛化能力。

15. 事件驱动(Event Driven)

事件驱动策略围绕公告、财报、宏观数据发布等「事件」展开:事件前后价格存在系统性反应不足或过度反应,可捕捉异常收益(Abnormal Return)。

策略 E1:财报漂移(PEAD / Post-Earnings-Announcement Drift)

参数默认值说明
surprise_metricSUE标准化未预期盈余(或超预期幅度)
top_pct20%做多最高超预期组
hold60 日事件后持有窗口
sue = (actual_eps - expected_eps) / std_eps      # 标准化未预期盈余
# 事件日 T 建仓:做多高 SUE 组,持有至漂移耗尽(研究显示可持续数十交易日)
if sue >= top_quantile: long_at(T+1, hold)

局限性与研究结论:PEAD 是最稳健的异象之一(Bernard & Thomas 1989),根源是市场对信息的反应不足;近年拥挤后效应减弱。

参考实现:fincell-xaviers/pead-earnings-drift(S&P500 PEAD 回测)、aniketnmishra/PEAD(SUE 计算 + Nifty 回测)。

策略 E2:公告事件窗口 CAR 分析

# CAR = 事件窗口内累计异常收益,异常=标的收益-期望收益(如市场模型/基准)
car = sum(asset_ret[t] - expected_ret[t] for t in window)
# 用途:1) 评估某类事件是否产生系统性漂移;2) 依事件日提前/延迟入场
if historical_car_of_event_type > 0: execute_event_strategy()

局限性与研究结论:须用市场模型/因子模型分离系统性收益;涨跌停/停牌机制(A股)显著影响窗口收益捕获。

参考实现:dylan-jeon/earnings-surprise-analysis(CAR 事件研究 + 市场效率检验)。

策略 E3:新闻情绪 NLP(Sentiment)

from transformers import pipeline
sent = pipeline('sentiment-analysis', model='finbert')
text = fetch_headline(ticker, ts)
label, score = sent(text)[0]            # POSITIVE/NEGATIVE + 置信度
signal = (1 if label == 'POSITIVE' else -1) * score
# 与行情事件结合:情绪显著 + 成交量放大 → 入场

局限性与研究结论:金融文本需领域模型;情绪是弱信号,需聚合大量文本或叠加事件权重;延迟敏感,新闻推送时效是成败关键。

参考实现:ProsusAI/finBERT(金融情感分析预训练模型)。

专有名词: 异常收益(Abnormal Return):实际收益减去由模型/基准期望的收益。
SUE(Standardized Unexpected Earnings):标准化未预期盈余,衡量财报超预期程度。
事件窗口(Event Window):事件日前后用于观测异常收益的区间。

16. 组合与风控(Portfolio & Risk)

单策略信号之上是组合层:如何在多个标的/策略间分配资金,以及如何控制整体风险。这是策略库的「元层」,决定单位风险的长期收益。

策略 P1:Markowitz 均值-方差优化(有效前沿)

参数默认值说明
cov_window60协方差估计窗口
target_vol10%目标组合年化波动
constraints非负 + 权重和=1可加行业/单标的限额
import numpy as np
mu = mean_returns(cov_window)                    # 期望收益向量
Sigma = cov_matrix(returns, cov_window)          # 协方差矩阵
# 求解 min w'Σw  s.t. w'mu=μ_target, sum(w)=1(凸优化)
from scipy.optimize import minimize
res = minimize(risk_fun, x0, method='SLSQP', bounds=bounds, constraints=cons)
weights = res.x

局限性与研究结论:均值-方差对输入(尤其协方差)极敏感,直接优化常产生极端权重;实务常用收缩估计(Shrinkage)或风险平价替代。

参考实现:robertmartin8/PyPortfolioOpt(均值-方差/Black-Litterman/收缩估计)。

策略 P2:风险平价(Risk Parity)

# 各资产风险贡献相等:w_i ∝ 1/σ_i(忽略相关时);带相关的精确解
# w_i * (Σw)_i 对每项相等
def risk_parity_weights(sigma):                # 简化(不相关假设)
    inv = 1.0 / sigma
    return inv / inv.sum()

局限性与研究结论:风险平价无需预测收益,通过均衡风险贡献获得稳健组合;债券/低波资产获权重较高(风险预算视角)。

参考实现:robertmartin8/PyPortfolioOpt(risk_models 风险平价)、dcajasn/Riskfolio-Lib(风险预算/层级风险平价)。

策略 P3:Kelly 仓位(Kelly Criterion)

p = win_rate; b = avg_win / avg_loss           # 盈亏比
f_star = (b * p - (1 - p)) / b                 # 满 Kelly 比例
position_frac = f_star * kelly_fraction        # 实务用半 Kelly (0.5)
# 满 Kelly 使长期对数收益最大,但回撤巨大,通常用分数 Kelly

局限性与研究结论:Kelly 在收益分布未知时高估仓位,对参数误差极敏感;回撤极度深(几何下降)。业界普遍采用 1/4~1/2 Kelly。

参考实现:无专门专仓(公式简单可自实现);绩效评估可用 ranaroussi/quantstats。

策略 P4:风险度量(VaR / CVaR)与回撤控制

var_95 = np.percentile(returns_hist, 5)         # 95% VaR(最差5%分位)
cvar_95 = returns_hist[returns_hist <= var_95].mean()   # 期望尾部损失
drawdown = (cum_equity.cummax() - cum_equity) / cum_equity.cummax()
# 风控规则:
if drawdown > max_drawdown: reduce_risk(half)   # 触及回撤线减半仓
if cvar_95 < risk_budget: cap_leverage()        # 尾部风险超限降杠杆

局限性与研究结论:VaR 不满足次可加性(非一致性风险度量),CVaR 更稳健;回撤控制是实盘存活的关键,防止「负复利」螺旋。

参考实现:dcajasn/Riskfolio-Lib(CVaR/CDaR/回撤约束组合优化)。

专有名词: 有效前沿(Efficient Frontier):给定风险下收益最大化的组合集合。
风险平价(Risk Parity):令各资产对组合总风险贡献相等的配置。
Kelly 公式:最大化长期对数增长率的仓位比例。
VaR / CVaR:给定置信度下的最大可能损失 / 其条件期望(尾部均值)。

17. 执行与微观结构(Execution & Market Microstructure)

策略产生的「理想信号」与实际成交之间存在差距:滑点、冲击成本、订单排队。执行层决定回测收益能否兑现,尤其对高频与小盘标的影响显著。

策略 X1:成本模型(滑点 + 冲击)

参数默认值说明
spread_bps2 ~ 5 bps买卖价差成本
impact_bps5 ~ 20 bps按 ADTV 比例的冲击成本
slippage_bps1 ~ 3 bps执行滑点
trade_cost = spread_bps + impact_bps * sqrt(order_adv_ratio) + slippage_bps
# 在回测中每笔成交价加/减 trade_cost,验证策略在含成本下仍盈利
exec_price = market_price + trade_cost * direction

局限性与研究结论:冲击成本近似随 sqrt(订单/日均成交额) 增长(Almgren 模型);剔除成本后仍显著盈利是策略真实有效的必要条件。

参考实现:abbass2/pyqstrat(回测含执行/成本建模)。

策略 X2:算法执行(TWAP / VWAP / 冰山)

# TWAP:在 [T0, T1] 内按时钟等量拆分订单
slice_qty = total_qty / n_slices
for each slice at equal time: submit_market(slice_qty)
# VWAP:按历史成交量分布分配每片数量
vol_profile = hourly_volume_profile(history)
slice_qty[t] = total_qty * vol_profile[t] / total_profile
# 冰山单:单次仅暴露小量,减少信息泄漏(尤适用于大单)

局限性与研究结论:算法单目标是「降低市场冲击与信息泄漏」,代价是执行时间与暴露风险(价格不利变动);大单必需,小单市价更省时。

参考实现:joequant/algobroker(算法交易执行引擎)、timkpaine/aat(研究/回测/实盘统一,含算法单)。

策略 X3:订单类型与排队(Limit vs Market)

# 市价单:立即成交,付价差
# 限价单:排队等待,可能吃到价差但也可能不成交(选择偏差)
passive = place_limit(bid + edge)         # 被动吃价差,等待被成交
if not filled by deadline: cross_spread   # 未成交则追价保证信号执行
# 回测中须建模「未成交」概率,否则高估被动单策略收益

局限性与研究结论:限价单策略的回测存在严重选择偏差(只统计到成交的部分),会系统高估收益;须按价差到达模型估计成交概率。

参考实现:alpacahq/pylivetrader(实盘执行,含限价单)、timkpaine/aat(订单类型模拟)。

专有名词: 冲击成本(Market Impact):大单成交推动价格的不利变动成本。
选择偏差(Selection Bias):这里指限价单「未成交就撤」导致样本不完整。
ADTV:日均成交额(Average Daily Trading Value),衡量流动性。

Part 4 实战与速查

18. 实战操作手册

本章把 §1~§4 落到动作:从零到一落地一条策略的分步操作、常用工具链、以及新手最容易踩的坑。

18.1 从零落地一条策略(以"20 日动量选股"为例)

  1. 定义假设:近 20 日涨幅居前的股票,未来一个月倾向跑赢(动量异象)。写下一句话假设 + 明确标的池(如沪深300 成分)与调仓频率(月频)。
  2. 准备数据:日线 OHLCV、复权处理(前复权)、剔除 ST/停牌/上市不足 60 日,区间尽量长(≥ 10 年)。数据质量决定一切,先对数据做 sanity check。
  3. 编码信号:每月末计算每只股票 20 日收益率,按截面排序取前 20% 为目标持仓(见 §19.1)。
  4. 回测验证:逐月模拟调仓,计入手续费与滑点;记录逐月收益序列与指标族(见 §4.1)。
  5. 稳健性检验:换动量窗口(10/30/60 日)、换成分池子集、换样本区间,观察结果是否稳定;用 Walk-forward 做滚动验证(§4.2)。
  6. 成本与容量:在月换手率基础上按保守成本重算,确认盈利;估算该策略能承载的资金量。
  7. 风控配置:设单票上限(如 5%)、总仓位上限、最大回撤熔断线(如 15% 触发降仓)、禁止规则(如禁止买入 ST)。
  8. 模拟交易:接入实时行情跑 1~3 个月 Paper Trading,确认"实盘数据下的表现 ≈ 回测表现"。
  9. 小额实盘:以最小可操作规模上线,先跑 1~2 个月验证执行链路(信号→订单→成交→对账)无误,再逐步放大。
  10. 持续监控:月度复盘(绩效归因、与回测偏差定位)、季度检查信号是否衰减、触发熔断即暂停(见 §1.4)。

18.2 工程工具链(Python 生态为主)

环节常用工具备注
数据处理pandas / numpy / PolarsPolars 处理大数据量更快
数据获取akshare / tushare / yfinance / 数据商 API国内 A 股优先 akshare/tushare,注意复权与 PIT 对齐
回测引擎backtrader / vectorbt / zipline-reloaded / qlib(微软)vectorbt 极快适合参数扫描;qlib 适合因子/ML 流水线
因子与统计alphalens / statsmodels / scipyalphalens 专做因子 IC 与分层检验
机器学习scikit-learn / LightGBM / XGBoost / PyTorch先用树模型,深度学习放最后
参数优化Optuna / 网格搜索Optuna 做贝叶斯搜索,注意防过拟合(配 OOS)
实盘执行券商 API / 开源交易框架(vnpy 等)连接经纪商、订单管理、风控网关
工具原则:先用最简单的工具把"信号→回测→评估"跑通,再逐步引入重型框架。多数策略死于"想得太复杂、动得太晚"。

18.3 新手陷阱清单

陷阱症状对策
未来函数(Look-ahead Bias)回测收益异常地高、几乎不亏只用当时可得的 PIT 数据;事件严格按时间戳回放
幸存者偏差选股池只有"活到现在的股票"成分池必须含历史上退市/被剔除的标的
过度调参参数微调收益暴涨参数平原检查 + 样本外验证(§4.2)
忽略成本实盘收益远低于回测回测一开始就计入保守成本(§4.3)
回测与实盘不一致实盘信号和回测对不上同一策略代码三端复用(§2.3)
没有风控就上实盘一次黑天鹅亏掉全部利润实盘前必配止损/熔断/仓位上限(§19.3)
样本量不足就下结论几十次交易就断言有效交易次数 < 100~200 的结果不可信

19. 参数指令速查手册

核心参数的速查表。完整参数规格(含每类策略专属参数)见 §19.6 全量参数速查表;此处是策略骨架的通用参数。

19.1 信号类参数

参数含义典型默认调参方向
window信号计算窗口(N 日/根 K 线)20(动量/均线)短=快但噪;长=慢但稳
lookback回看区间长度随周期定至少覆盖 1 个完整牛熊
threshold信号触发阈值(如 z-score 上下限)±1.0~±2.0阈值高=信号少而强
top_n / bottom_n截面选股数量(横截面策略)前 20%数量多=分散、单票权重低
min_holding最短持有期(防过度翻转)5~10 日抑制噪音交易,降换手
signal_filters附加过滤(成交额、流动性、ST 排除)排除低流动性保证可执行性

19.2 仓位类参数

方法仓位公式适用注意
固定比例仓位 = 固定常数 × 资金起步、简单不随风险变化
Kelly(分数 Kelly)f* = p − (1−p)/b(p=胜率, b=盈亏比),建议用 f*/2 或 f*/4有稳定胜率与盈亏比估计时全 Kelly 波动极大,务必打折
ATR 仓位仓位 ∝ 风险预算 / ATR(单位波动止损额)趋势/波段策略波动自适应,市场波动小时加大
风险平价各标的贡献相等风险(权重 ∝ 1/波动)多资产组合需波动率估计,低波标的易超配
目标波动率仓位 = 目标波动率 / 当前波动率组合层面把组合波动钉在目标值

19.3 风控类参数

参数含义典型默认(仅供参考)
max_position_pct单标的仓位上限5%~20%
max_leverage总杠杆上限1.0~3.0(A 股两融受监管约束)
stop_loss_pct单笔止损线2%~10%(ATR 自适应更佳)
max_drawdown_pct策略最大回撤熔断线10%~20%
daily_loss_limit当日亏损熔断账户 2%~5%
forbidden_list禁止标的/行为ST、退市整理、业绩雷池
sector_limit行业集中度上限单行业 ≤ 30%

19.4 评估类参数

参数含义常见取值
risk_free_rate无风险利率(Sharpe/Sortino 用)中国:一年期国债或 SHIBOR,2%~3%
benchmark基准指数(计算超额)沪深300 / 中证500
confidence_levelVaR 置信度95% / 99%
oos_ratio样本外占比20%~30%
walk_forward_windows滚动验证窗口数≥ 5 段

19.5 回测设置速查

设置项建议
回测区间≥ 10 年,必须覆盖至少一轮完整牛熊
交易成本保守估计:佣金 + 印花税 + 滑点(如 10~20 bps 单边,随品种调整)
数据频率 vs 调仓频率数据频率必须 ≥ 信号频率(日频信号勿用周线数据)
复权方式统一前复权;分红除权日期精确对齐
事件时间戳收盘后出信号 → 下一交易日开盘执行(避免未来函数)
多档成本测试零成本 / 保守 / 恶劣三档都要测

19.6 全量参数速查表(按策略)

策略关键参数常用默认备注
T1 双均线fast / slow / adx_filter5 / 20 / 20震荡市加 ADX 过滤
T2 唐奇安突破entry / exit / vol_filter20 / 10 / 1.2Turtle 经典配置
T3 均线排列ma5 / ma10 / ma205/10/20乖离阈值按 ATR 归一化
T4 ADX 过滤period / threshold14 / 25状态开关
R1 2Blookback / fail_bars20 / 3需时间窗约束
R2 RSI 背离period / 70 / 3014 / 70 / 30震荡环境更有效
R3 头肩颈线 / 量度目标—编码难、易过拟合
R4 双顶/双底容忍差 tolerance0.5%级别越大越可靠
R5 K线反转影线倍率2×须配合支撑/超卖
V1 布林带period / mult20 / 2.0标准差口径要明确
V2 ATR 止损atr_mult / risk2 / 1%仓位随波动自适应
V3 带宽扩张k / lookback2 / 20捕捉爆发段
M1 MACD12 / 26 / 912/26/9零轴过滤
M2 斐波那契0.382/0.5/0.618—自我实现区域
Q1 放量突破vol_ratio1.5回调应缩量
Q2 量价背离lookback20顶部/底部预警
Q3 OBV累积规则—关注方向而非绝对值
S1 配对交易train_window / entry_z / exit_z60 / 2.0 / 0.5须 ADF 检验协整
S2 z-score 回归window / entry_z / exit_z20 / 2 / 0.5仅震荡市有效
S3 Kalman 对冲obs_var / trans_var按波动标定滚动自适应对冲比
F1 动量lookback / skip / hold12M / 1M / 1M含动量崩溃风险
F2 估值E/P, B/P 权重等权合成价值陷阱需质量过滤
F3 质量/低波zscore 权重—防守型因子
F4 多因子weight_mode / rebalanceIC 加权 / 月频行业中性化
TS1 ARIMAp / d / qAIC 自动收益近随机游走
TS2 GARCHp / q1 / 1波动预测强于方向
ML2 GBDTn_est / depth / lr300 / 4 / 0.05时间序列切分防泄漏
E1 PEADsurprise / top_pct / holdSUE / 20% / 60日反应不足异象
P1 均值-方差cov_window / target_vol60 / 10%需收缩估计
P2 风险平价σ 估计窗口60无需收益预测
P3 Kellykelly_fraction0.25 ~ 0.5满 Kelly 回撤巨大
T5 KDJn / k / d / 80 / 209 / 3 / 3A股短线常用
T6 抛物线 SARaf / af_max0.02 / 0.2跟踪止损属性
T7 %B / 带宽period / mult20 / 2.0带宽压缩量化
T8 Ichimoku9 / 26 / 52日线经典完整系统
T9 VWAP日内累计—日内基准
T10 ORBrange_minutes / buffer / rr15 / 0.05% / 1.5日内突破,收盘强制平仓
O1 IV Rankwindow / low_th / high_th252 / 30 / 70波动率买卖择时开关
O2 买跨式dte / strike_mode30 / atmIV 低位 + 事件窗口
O3 卖跨式+Delta 对冲dte / delta_threshold30 / 0.10收割 Theta/VRP,须趋势过滤
O4 铁鹰dte / strike_loc / credit_ratio45 / ±1σ / 30%有限风险高胜率
H1 UT Botatr_period / key_value10 / 1.0ATR 跟踪带翻转
H2 HalfTrendamplitude / channel_deviation2 / 2通道平滑趋势
H17 BbandRsibb / rsi_period / rsi_buy / rsi_sell20,2.0 / 14 / 30 / 70触轨 + 超卖双确认
H19 ADX+DMIadx_period / adx_threshold14 / 25方向 + 强度
H21 Chandeliern / mult22 / 3.0ATR 吊灯跟踪止损
CR1 网格lower / upper / n_grids区间 / 10~50震荡收割,需区间管理
CR3 资金费率套利funding_threshold / hedge_ratio0.01% / 1.0delta 中性收资金费
AR1 ETF 套利premium_threshold成本 + 缓冲净值折溢价套利
FT1 规模因子size_metric / rebalancelog(mktcap) / 月小盘溢价(多空组合)

文末提示:本文为方法论梳理,不构成投资建议。文中参数、阈值、判定标准均为经验参考,实盘务必以自身账户、品种与监管要求为准;任何回测结果都不能保证未来收益。

Part 5 全网热度最高策略全览(全市场 × 全风格)

本部分回答「全网热度最高的交易策略有哪些」。它不受任何具体实现系统(引擎能力、标的类型、交易制度)的限制,追求覆盖的全面与完整:从 A 股民间自媒体战法,到美股因子与事件驱动,到加密网格与资金费率套利,到期货 CTA、外汇套息、期权波动率与高频做市,逐类给出完整规格(热度依据 / 适用市场与周期 / 原理 / 参数 / 伪代码 / 出场止损 / 优缺点与失效条件 / 参考实现)。

如何使用:先看 §21「全网热度总榜」快速定位感兴趣的策略,再点「规格」列跳到对应小节;§22-§30 按风格族给出完整规格;§31 给出各市场的制度差异与策略适配;§32 提示风险与失效场景。Part 2/Part 3 已有的策略(如双均线、MACD、布林带、海龟等)在总榜中一并列出并标注「已有规格」链接,避免重复。

20. 调研方法与热度来源

「热度」无法直接度量,本文用多源代理指标交叉验证,覆盖不同语言与人群,避免单一来源偏差:

来源类型代表渠道反映的热度
开源社区GitHub(freqtrade-strategies、NostalgiaForInfinity、awesome-quant、backtrader、ta-lib、je-suis-tm/quant-trading 等)被工程化复现的热度(Star / Fork)
图表社区TradingView(脚本 / 榜单)、MQL5 市场、币安/OKX 策略广场散户实际使用的指标与脚本热度
视频与社媒YouTube 交易频道、Bilibili、Reddit r/algotrading、Twitter/X 量化圈话题讨论与教程热度
中文自媒体抖音 / 视频号 / 公众号 / 知乎(打板、隔夜、龙头战法等)中文散户追捧的「民间战法」热度
机构与学术券商研报、SSRN / NBER 论文、量化教材被严肃验证的策略热度
PlantUML diagram
组件图:热度来源与调研方法(多源交叉验证 → 三维分类 → 完整规格)

20.1 三维分类

维度取值
市场A 股 / 美股 / 港股 / 加密 / 商品期货 / 股指期货 / 外汇 / 期权 / 债券 / 跨市场
风格趋势跟踪 / 均值回归 / 突破形态 / 量价 / 统计套利 / 因子 / 事件驱动 / 期权波动率 / 机器学习 / 高频做市 / 套息 / 民间战法
周期高频(秒-分钟)/ 日内 / 波段(日-周)/ 中长线(周-月)

20.2 热度分级

  • 第一梯队(三源命中):开源 + 图表社区 + 教材/研报同时高频出现(如 Supertrend、MACD、RSI、布林带、双均线、海龟)。
  • 第二梯队(单源爆款):某单一渠道爆红(如 TradingView 的 UT Bot / HalfTrend、freqtrade 的 NostalgiaForInfinity)。
  • 民间高热(中文):自媒体传播极广、但学术验证薄弱(打板、隔夜、龙头战法)——本部分如实收录并标注风险。
免责与口径:热度≠有效。排行榜反映「被多少人谈论/使用」,不代表策略能持续盈利;自媒体战法多为个人经验,缺少可复现的样本外证据,收录仅供研究与认知参考。凡涉及时效性强的参数,实盘务必自行标定与样本外验证。

21. 全网热度总榜

下表汇总全网热度最高的策略(约百项)。「规格」列指向本文详细规格或已有章节;「热度」列出主要来源(链接见 §33 与各规格条目)。

策略热度来源市场风格周期规格
双均线交叉(MA/EMA Crossover)教材经典 / backtrader 示例 / 各榜单全市场趋势波段§10.1 T1
唐奇安通道突破Donchian / 海龟体系期货/加密趋势波段§10.1 T2
葛兰碧八大法则经典教材股票趋势中长线§10.1 T3
ADX 趋势过滤Wilder / ta-lib全市场趋势波段§10.1 T4
海龟交易法则经典 / 无数复现期货/加密趋势波段§10.1 T11
Supertrendfreqtrade 官方样例 / 各榜单常驻全市场趋势波段§10.1 T12
KDJ 随机指标中文圈最常用指标A股/期货反转日内-波段§10.7 T5
抛物线 SARWilder / 各榜单全市场趋势日内-波段§10.7 T6
布林带 %B 与带宽Bollinger 经典全市场波动率波段§10.7 T7
一目均衡表(Ichimoku)日本经典 / 各榜单常驻外汇/加密趋势波段§10.7 T8
VWAP 策略机构执行 / 日内标配股票/期货量价日内§10.7 T9
开盘区间突破 ORB日内经典 / 学术研究股指/期货突破日内§10.7 T10
2B 假突破反转经典形态全市场反转波段§10.2 R1
RSI 背离Wilder / 各榜单全市场反转波段§10.2 R2
头肩顶/底经典形态学股票/期货反转波段-中长线§10.2 R3
双顶/双底经典形态学全市场反转波段§10.2 R4
吞没/锤头 K 线反转蜡烛图经典全市场反转日内-波段§10.2 R5
布林带均值回归Bollinger / 各榜单全市场均值回归波段§10.3 V1
ATR 动态止损与仓位海龟 / 专业基金标准全市场风控全周期§10.3 V2
带宽扩张突破波动率经典全市场波动率波段§10.3 V3
Dual Thrust 区间突破日内期货经典期货/加密突破日内-波段§10.3 V4
MACD 金叉死叉与背离Appel / 全网最广动量指标全市场动量波段§10.5 M1
斐波那契回调与扩展经典工具全市场形态波段§10.5 M2
艾略特波浪经典理论全市场形态中长线§10.5 M3
放量突破 / 缩量回调量价经典 / 中文圈A股/加密量价波段§10.6 Q1
量价背离量价经典全市场量价波段§10.6 Q2
OBV 能量潮Granville / ta-lib股票量价波段-中长线§10.6 Q3
IV Rank 隐含波动率排名期权圈核心期权波动率波段§10.8 O1
买入跨式 / 宽跨式期权经典期权波动率事件§10.8 O2
卖出跨式 + Delta 对冲做市/波动率套利期权波动率波段§10.8 O3
铁鹰 / 垂直价差期权经典期权波动率波段§10.8 O4
UT Bot Alerts(ATR 跟踪)TradingView 爆款脚本加密/外汇趋势日内-波段§22 H1
HalfTrendTradingView 爆款加密/外汇趋势日内-波段§22 H2
Keltner 通道突破经典 ATR 通道全市场趋势波段§22 H3
CCI 顺势指标Lambert 经典期货/股票反转/趋势日内-波段§22 H4
Williams %RLarry Williams 经典全市场反转日内-波段§22 H5
Stoch RSITradingView 常用全市场反转日内-波段§22 H6
TRIX 三重指数平滑经典中期动量股票/期货趋势中长线§22 H7
Aroon 阿隆指标Chande 经典全市场趋势波段§22 H8
Heikin-Ashi 平均足日本经典全市场趋势波段§22 H9
Renko 砖形图点数图流派全市场趋势波段§22 H10
Pivot Points 枢轴点场内交易员经典期货/外汇日内日内§22 H11
Volume Profile / Market Profile拍卖市场理论期货/加密量价日内-波段§22 H12
缺口回补(Gap Fill)经典统计现象股票均值回归日内-波段§22 H13
季节性 / 日历效应学术异象商品/股票统计中长线§22 H14
三线反转 / 三重滤网Elder 经典全市场趋势波段§22 H15
双推力 / 趋势加速TradingView 常用加密/外汇动量日内§22 H16
Bollinger + RSI(BbandRsi)freqtrade 官方样例加密均值回归波段§22 H17
MACD + RSI 组合freqtrade / 社区加密/股票动量波段§22 H18
ADX + DI 趋势系统Wilder 完整体系全市场趋势波段§22 H19
SuperTrend + 多周期确认社区改良加密趋势波段§22 H20
ATR 吊灯止损(Chandelier Exit)LeBeau 经典全市场趋势/风控波段§22 H21
动量/ROC 横截面轮动学术 / 加密常用股票/加密动量中长线§22 H22
三倍量大阳线战法中文自媒体高热A股量价/民间波段§23 CN1
尾盘买入·早盘卖出(隔夜套利)中文自媒体高热(杨永兴流派)A股民间隔夜§23 CN2
打板 / 首板战法中文短线圈核心A股民间/情绪日内-隔夜§23 CN3
龙头战法 / 空间板中文短线圈A股民间短线§23 CN4
连板接力 / 涨停基因中文短线圈A股民间短线§23 CN5
半路 / 低吸打板中文短线圈A股民间日内§23 CN6
龙虎榜跟随中文短线圈A股事件/资金流短线§23 CN7
缠论(走势类型/背驰)中文圈极热A股/期货形态全周期§23 CN8
江恩理论(角度线/时间周期)经典理论全市场形态/周期中长线§23 CN9
量学 / 量柱理论中文圈A股量价短线-波段§23 CN10
涨停回踩 5 日线中文圈A股民间短线§23 CN11
T+0 做 T 降成本中文圈A股民间日内§23 CN12
打新 / 可转债套利中文圈A股事件事件§23 CN13
封单 / 盘口语言中文短线圈A股微观结构日内§23 CN14
缺口 + 龙头首板套利中文短线圈A股民间隔夜§23 CN15
均线回踩低吸(买阴不买阳)中文自媒体A股趋势/民间隔夜§23 CN16
趋势跟踪 + 金字塔加仓经典资金管理期货/加密趋势波段§23 CN17
海龟 ATR 分档加仓海龟原版期货趋势/仓位波段§23 CN18
网格交易(Grid)CEX/外汇机器人普及加密/外汇均值回归日内-波段§24 CR1
马丁格尔 / 反马丁机器人常配加密/外汇资金管理日内§24 CR2
资金费率套利加密圈无风险套利永续合约套利/套息持有§24 CR3
跨所搬砖 / 现货-合约对冲加密圈加密套利日内§24 CR4
三角套利加密/外汇加密/外汇套利高频§24 CR5
DEX MEV / 三明治链上套利热门DeFi套利/微观高频§24 CR6
流动性挖矿 / 收益农场DeFi 热门DeFi套息持有§24 CR7
跟单 / 带单交易CEX 热门功能加密跟随全周期§24 CR8
链上指标(MVRV/SOPR/净流出)加密研究热门加密基本面/情绪中长线§24 CR9
恐惧贪婪 / 资金情绪逆向加密圈加密情绪波段§24 CR10
减半 / 牛熊周期定投加密圈加密周期/定投中长线§24 CR11
期现套利(现货+空永续)加密圈加密套利持有§24 CR12
跨期套利(近月/远月)期货经典期货/加密套利持有§24 CR13
永续-交割基差套利加密加密套利持有§24 CR14
配对交易(协整)统计套利经典股票/加密套利波段§11 S1
z-score 均值回归统计套利经典股票/加密均值回归波段§11 S2
Kalman 滤波动态对冲进阶统计套利股票套利波段§11 S3
ETF / 指数套利机构经典股票/ETF套利日内§25 AR1
跨市场统计套利机构跨市场套利波段§25 AR2
可转债套利中文圈/机构A股转债套利事件§25 AR3
并购套利 / 风险套利事件套利经典股票事件套利事件§25 AR4
封闭式基金折价套利经典基金套利持有§25 AR5
期现基差套利(股指)经典股指期货套利日内-持有§25 AR6
外汇套息(Carry)外汇经典外汇套息中长线§25 AR7
三角外汇套利外汇经典外汇套利高频§25 AR8
横截面动量因子Fama-French / AQR股票因子中长线§12 F1
价值因子Fama-French股票因子中长线§12 F2
质量 / 低波因子学术股票因子中长线§12 F3
多因子合成(IC/IR 加权)机构主流股票因子中长线§12 F4
规模因子(小盘)Fama-French股票因子中长线§26 FT1
成长因子学术股票因子中长线§26 FT2
股息率因子学术/红利策略股票因子中长线§26 FT3
波动率因子(低波异象)学术股票因子中长线§26 FT4
行业轮动中文圈/机构股票轮动中长线§26 FT5
风格轮动(大小盘/价值成长)机构股票轮动中长线§26 FT6
ESG 因子近年热门股票因子中长线§26 FT7
期权隐含因子 / 偏度进阶股票/期权因子中长线§26 FT8
财报漂移 PEAD学术经典股票事件事件§15 E1
公告事件 CAR 分析学术股票事件事件§15 E2
新闻情绪 NLP近年热门股票/加密事件/NLP日内-波段§15 E3
指数纳入 / 剔除经典事件股票事件事件§27 ED1
期权到期日效应(OpEx)美股圈股票/期权事件事件§27 ED2
分红除权套利经典股票事件事件§27 ED3
宏观数据发布交易外汇/期货外汇/期货事件日内§27 ED4
财报超预期(SUE)学术股票事件事件§27 ED5
供股/增发事件经典股票事件事件§27 ED6
VRP 方差风险溢价学术/期权期权波动率中长线§28 OP1
Gamma Scalping期权做市期权波动率日内§28 OP2
日历价差期权经典期权波动率波段§28 OP3
蝶式 / 鹰式期权经典期权波动率波段§28 OP4
0DTE 末日轮美股近年爆火期权波动率日内§28 OP5
Covered Call / 现金担保认沽稳健收益流股票/期权收益增强中长线§28 OP6
波动率期限结构套利进阶期权波动率波段§28 OP7
偏度 / 尾部对冲机构期权波动率中长线§28 OP8
XGBoost/LightGBM 信号Kaggle/机构热门全市场ML全周期§14 ML2
LSTM / Transformer 时序学术热门全市场ML全周期§14 ML3
强化学习交易 Agent研究热门全市场ML/RL全周期§14 ML4
特征工程 / 因子挖掘Kaggle/机构全市场ML全周期§14 ML1
遗传规划符号回归研究全市场ML全周期§29 ML5
聚类/隐马尔可夫状态识别研究全市场ML全周期§29 ML6
做市(Market Making)HFT 核心全市场做市高频§30 HX1
订单流不平衡 / 微观结构HFT期货/加密微观结构高频§30 HX2
VPIN 毒性订单流学术/HFT期货微观结构高频§30 HX3
延迟套利 / 抢跑HFT全市场微观结构高频§30 HX4
TWAP / VWAP 算法执行机构执行全市场执行日内§17 X2
冰山 / 隐藏单机构执行全市场执行日内§30 HX5
统计套利 HFT(均值回归)HFT股票/期货套利高频§30 HX6

22. 技术分析热门补全(H1-H22)

Part 2 已覆盖大量技术指标,本节补齐全网图表社区(TradingView / MQL5)与 freqtrade 社区中最常被复现、但前文未收录的指标策略。所有条目与 Part 2 同规格,且不依赖具体实现系统。

策略 H1:UT Bot Alerts(ATR 跟踪带)

热度:TradingView 长期爆款脚本,加密与外汇圈引用极广(TradingView 脚本库)。

适用:加密 / 外汇 / 期货 · 5m-4h · 趋势跟踪。

参数默认推荐说明
atr_period107 ~ 14ATR 周期
key_value1.00.5 ~ 3.0敏感系数:带距 = key × ATR
atr = wilder_atr(bars, atr_period)
stop = close[-1] - key_value * atr[-1]      # 动态跟踪止损(做多)
# 价格上穿跟踪带 → 翻多;下穿 → 翻空;跟踪带随趋势方向单向收紧
long_enter  = close[-1] > nLoss_prev and dir != 'long'
short_enter = close[-1] < nLoss_prev and dir != 'short'

出场/止损:无独立止损——ATR 跟踪带被反向穿越即翻向反手。

优缺点与失效:自适应波动、翻转及时;震荡市频繁翻向;key_value 越小越灵敏、噪声越大。

参考实现:TradingView UT Bot Alerts(QuantNomad);freqtrade-strategies 社区移植版。

策略 H2:HalfTrend

热度:TradingView 爆款趋势脚本,中文圈称「半趋势」。

适用:加密 / 外汇 · 15m-4h · 趋势。

参数默认推荐说明
amplitude21 ~ 5高低点回看幅度
channel_deviation21 ~ 3ATR 通道偏离倍数
high_ma = sma(high, amplitude); low_ma = sma(low, amplitude)
high_band = high_ma + channel_deviation * atr
low_band  = low_ma  - channel_deviation * atr
# 价格突破通道 → 翻向;否则维持趋势方向与趋势线
long_enter  = close[-1] > high_band[-1] and trend == 'down'
short_enter = close[-1] < low_band[-1]  and trend == 'up'

出场/止损:趋势线(HalfTrend 线)跟踪;反向突破反手。

优缺点与失效:比 Supertrend 更平滑、翻转少;趋势末端滞后。

参考实现:TradingView HalfTrend(Everget)。

策略 H3:Keltner 通道突破

热度:经典 ATR 通道,TradingView / 教材高频(Wikipedia)。

适用:全市场 · 1h-1d · 趋势。

参数默认推荐说明
ema_period2020 ~ 50中轨 EMA
atr_period1010 ~ 20ATR 周期
mult2.01.5 ~ 3.0通道倍数
mid = ema(close, ema_period)
upper = mid + mult * atr(atr_period); lower = mid - mult * atr(atr_period)
long_enter  = close[-1] > upper[-1]
short_enter = close[-1] < lower[-1]
long_exit   = close[-1] < mid[-1]      # 跌破中轨离场

优缺点与失效:ATR 通道比布林带更抗噪;箱体震荡窄幅时反复假突破,需 ADX 过滤。

参考实现:mrjbq7/ta-lib(ATR/EMA);backtrader 官方示例。

策略 H4:CCI 顺势指标

热度:Lambert 经典,期货与股票常用。

适用:期货 / 股票 · 日内-日线。

tp = (high + low + close) / 3
cci = (tp - sma(tp, n)) / (0.015 * mean_deviation(tp, n))
long_enter  = cci[-1] > 100 and cci[-2] <= 100
short_enter = cci[-1] < -100 and cci[-2] >= -100

参数:n=20(14~40)。进出场:上穿 +100 做多、下穿 -100 做空;回到 0 轴离场或反向。

优缺点与失效:把价格偏离标准化,适合区间与趋势两态;极端单边行情会持续钝化在 ±100 外侧。

参考实现:ta-lib CCI。

策略 H5:Williams %R

热度:Larry Williams 经典摆动指标。

适用:全市场 · 日内-日线 · 反转。

wr = -100 * (highest(high, n) - close) / (highest(high, n) - lowest(low, n))
long_enter  = wr[-1] < -80 and wr[-2] >= -80      # 从超卖回升
short_enter = wr[-1] > -20 and wr[-2] <= -20      # 从超买回落

参数:n=14。优缺点与失效:反应快、信号多;与 KDJ/RSI 高度相关,趋势市钝化。

参考实现:ta-lib WILLR。

策略 H6:Stoch RSI

热度:TradingView 高频使用,加密圈标配。

适用:加密 / 外汇 · 15m-4h · 反转。

rsi = rsi(close, rsi_period)
stoch = (rsi - lowest(rsi, stoch_period)) / (highest(rsi, stoch_period) - lowest(rsi, stoch_period))
k = sma(stoch, 3); d = sma(k, 3)
long_enter  = k[-1] > d[-1] and k[-2] <= d[-2] and k[-1] < 0.2
short_enter = k[-1] < d[-1] and k[-2] >= d[-2] and k[-1] > 0.8

参数:rsi_period=14、stoch_period=14、K/D 平滑 3。优缺点与失效:比 RSI 更敏感,假信号更多;须配合趋势过滤。

参考实现:TradingView;ta-lib STOCHRSI。

策略 H7:TRIX 三重指数平滑

热度:经典中期动量,机构与股票投资者常用。

适用:股票 / 期货 · 日线-周线 · 趋势。

ema1 = ema(close, n); ema2 = ema(ema1, n); ema3 = ema(ema2, n)
trix = (ema3[-1] - ema3[-2]) / ema3[-2]
long_enter  = trix[-1] > 0 and trix[-2] <= 0
short_enter = trix[-1] < 0 and trix[-2] >= 0

参数:n=15。优缺点与失效:三重平滑去除噪声,信号滞后明显;适合中长线。

参考实现:ta-lib TRIX。

策略 H8:Aroon 阿隆指标

热度:Chande 经典趋势新低/新高时间指标。

适用:全市场 · 日线 · 趋势。

aroon_up   = 100 * (n - bars_since_highest(high, n)) / n
aroon_down = 100 * (n - bars_since_lowest(low, n)) / n
long_enter  = aroon_up[-1] > 70 and aroon_down[-1] < 30
short_enter = aroon_down[-1] > 70 and aroon_up[-1] < 30

参数:n=25。优缺点与失效:衡量「新高/新低有多近」,可判趋势启动;震荡市两线纠缠无信号。

参考实现:ta-lib AROON。

策略 H9:Heikin-Ashi 平均足

热度:日本经典,趋势平滑直观。

适用:全市场 · 波段 · 趋势。

ha_close = (open + high + low + close) / 4
ha_open  = (ha_open[-1] + ha_close[-1]) / 2
ha_high  = max(high, ha_open, ha_close); ha_low = min(low, ha_open, ha_close)
long_enter  = ha_close[-1] > ha_open[-1] and ha_close[-2] > ha_open[-2]   # 连续阳线
short_enter = ha_close[-1] < ha_open[-1] and ha_close[-2] < ha_open[-2]

优缺点与失效:过滤噪声、趋势清晰;本质是平滑,滞后且不能反映真实价格,须回真实价格下单。

参考实现:TradingView / ta-lib 社区实现。

策略 H10:Renko 砖形图

热度:点数图/砖形图流派,去除时间维、只留价格。

适用:全市场 · 波动自适应 · 趋势。

brick = atr(14)[-1] * brick_mult       # 砖块大小(固定或 ATR 自适应)
# 价格每上涨一个 brick 画新砖;砖色翻转 → 趋势反转
long_enter  = close[-1] > last_brick_top + brick
short_enter = close[-1] < last_brick_bottom - brick

优缺点与失效:有效过滤时间噪声,趋势信号干净;砖块大小敏感、回测需按价格序列重建砖块。

参考实现:TradingView Renko;backtrader Renko 数据源。

策略 H11:Pivot Points 枢轴点

热度:场内交易员经典,外汇/期货日内标配。

适用:期货 / 外汇 · 日内。

pivot = (high[-2] + low[-2] + close[-2]) / 3
r1 = 2*pivot - low[-2]; s1 = 2*pivot - high[-2]
r2 = pivot + (high[-2] - low[-2]); s2 = pivot - (high[-2] - low[-2])
long_enter  = close[-1] > pivot and close[-2] <= pivot
short_enter = close[-1] < pivot and close[-2] >= pivot

优缺点与失效:日内支撑阻力参考明确;开盘跳空会失效,需结合前一日数据口径。

参考实现:TradingView Pivot Points;ta-lib 无内置需自算。

策略 H12:Volume Profile / Market Profile

热度:拍卖市场理论,期货与加密合约常用。

适用:期货 / 加密 · 日内-波段 · 量价。

# 把成交量按价格分桶,找高成交密集区(价值区 VAL/VAH)与 POC
poc = argmax_price_bucket(volume_profile)
value_area = [val, vah]                # 覆盖 70% 成交量的价格区间
long_enter  = close[-1] > vah and in_uptrend   # 突破价值区上沿
short_enter = close[-1] < val and in_downtrend

优缺点与失效:把「量能分布」映射到价格,支撑阻力有统计意义;需逐笔或分钟数据构建、数据成本高。

参考实现:TradingView Volume Profile;je-suis-tm/quant-trading 量价脚本。

策略 H13:缺口回补(Gap Fill)

热度:经典统计现象,「缺口必补」流传甚广。

适用:股票 · 日线 · 均值回归。

gap_up   = low[0] > high[-1]           # 今日最低 > 昨日最高
gap_down = high[0] < low[-1]
long_enter  = gap_down and close[-1] > open[-1]    # 低开高走补缺口
short_enter = gap_up and close[-1] < open[-1]

优缺点与失效:普通缺口回补概率较高;突破缺口/除权缺口不回补,A 股除权需复权处理。

参考实现:见 je-suis-tm/quant-trading 量价脚本。

策略 H14:季节性 / 日历效应

热度:学术异象(Sell in May、月末效应、节前效应)。

适用:商品 / 股票指数 · 日线-月线 · 统计。

# 统计历史上某月份/星期/月末的超额收益,构造日历哑变量
expected = mean_return_by_calendar(month=11, day_of_month=range(25,32))
long_enter  = today_is_seasonal_window and expected > threshold

优缺点与失效:样本内显著、样本外易消失;跨市场不通用,需滚动验证。

参考实现:je-suis-tm/quant-trading(seasonality 脚本)。

策略 H15:三重滤网(Triple Screen)

热度:Elder 经典多周期系统。

适用:全市场 · 周线定方向 + 日线择时 · 趋势。

trend = ema(close_daily, 13) slopes up on weekly        # 第一层:周期方向
osc   = macd_hist or rsi oversold                        # 第二层:回调极值
trigger = price breaks prior bar high                    # 第三层:入场触发
long_enter = weekly_up and osc_oversold and trigger

优缺点与失效:多周期共振降低逆势概率;实现需多周期数据对齐,复杂且滞后。

参考实现:je-suis-tm/quant-trading;Elder《Trading for a Living》。

策略 H16:双推力 / 趋势加速(Squeeze Momentum 思路)

热度:TradingView「Squeeze Momentum」高热。

适用:加密 / 外汇 · 15m-4h · 动量突破。

squeeze_on = bollinger_width < keltner_width        # 波动收缩
momentum = linreg(close - avg(bb_mid, kc_mid), n)
long_enter  = not squeeze_on and momentum[-1] > 0 and squeeze_was_on
short_enter = not squeeze_on and momentum[-1] < 0 and squeeze_was_on

优缺点与失效:捕捉「收缩后爆发」;假突破与滑点成本高。

参考实现:TradingView LazyBear Squeeze Momentum。

策略 H17:Bollinger + RSI(BbandRsi)

热度:freqtrade-strategies 官方样例。

适用:加密 · 5m-1h · 均值回归。

long_enter  = close[-1] < bb_lower and rsi[-1] < rsi_buy     # 触下轨且超卖
short_enter = close[-1] > bb_upper and rsi[-1] > rsi_sell
long_exit   = close[-1] > bb_mid                              # 回中轨

参数:bb=(20,2.0)、rsi_period=14、rsi_buy=30、rsi_sell=70。优缺点与失效:双重确认降低假信号;单边趋势中逆势接刀,须硬止损。

参考实现:freqtrade-strategies/user_data/strategies/berlinguyinca/BbandRsi.py。

策略 H18:MACD + RSI 组合

热度:freqtrade 社区与教程高频组合。

适用:加密 / 股票 · 1h-4h · 动量。

long_enter  = macd_hist[-1] > 0 and macd_hist[-2] <= 0 and rsi[-1] > 50
short_enter = macd_hist[-1] < 0 and macd_hist[-2] >= 0 and rsi[-1] < 50

优缺点与失效:动量方向 + 相对强弱过滤;指标同源、相关性高,震荡市仍会反复。

参考实现:freqtrade-strategies(MACDStrategy 系列)。

策略 H19:ADX + DI 完整趋势系统

热度:Wilder 原始完整体系,海龟后经典。

适用:全市场 · 1h-1d · 趋势。

plus_di, minus_di, adx = calc_dmi(bars, 14)
long_enter  = plus_di[-1] > minus_di[-1] and adx[-1] > 25
short_enter = minus_di[-1] > plus_di[-1] and adx[-1] > 25
long_exit   = adx[-1] < 20 or plus_di[-1] < minus_di[-1]

优缺点与失效:方向 + 强度一体;ADX 滞后、盘整末期易假信号。

参考实现:ta-lib ADX/DMI。

策略 H20:SuperTrend + 多周期确认

热度:freqtrade 社区对 Supertrend 的主流改良。

适用:加密 · 15m 入场 + 4h 确认 · 趋势。

st_fast = supertrend(bars_15m); st_slow = supertrend(bars_4h)
long_enter  = st_fast.dir == 'long'  and st_slow.dir == 'long'
short_enter = st_fast.dir == 'short' and st_slow.dir == 'short'

优缺点与失效:高周期过滤低周期假翻转;加入滞后、错过部分行情。

参考实现:freqtrade-strategies(FSupertrendStrategy)。

策略 H21:ATR 吊灯止损(Chandelier Exit)

热度:LeBeau 经典跟踪止损,趋势系统标配。

适用:全市场 · 波段 · 风控。

long_stop  = highest(high, n) - mult * atr(n)     # 多头吊灯线
short_stop = lowest(low, n)  + mult * atr(n)
long_exit  = close[-1] < long_stop[-1]

参数:n=22、mult=3.0。优缺点与失效:让利润奔跑同时锁回撤;参数敏感,宽止损回撤大、窄止损频繁被扫。

参考实现:je-suis-tm/quant-trading。

策略 H22:动量/ROC 横截面轮动

热度:学术动量异象 + 加密圈轮动常用。

适用:股票池 / 加密池 · 周线-月线 · 动量。

roc = close[-1] / close[-lookback] - 1
rank = cross_sectional_rank(roc)
long_basket = top_n(rank)      # 做多动量最强,做空最弱(多空组合)

参数:lookback=90~252、持有 1 月、top 10~20%。优缺点与失效:长期有效、容量大;动量崩溃(转折点)回撤剧烈。

参考实现:awesome-quant;AQR 动量研究。

23. 民间与自媒体战法(CN1-CN18)

重要提示:本节收录的是在中短视频/直播/公众号等渠道传播极广、但缺乏可复现样本外证据的战法。它们往往依赖日内盘口、横截面选股、T+1 制度与「情绪周期」,部分带有明显幸存者偏差与收益夸大。收录用于认知与研究参考,不代表可稳定盈利;实盘务必小资金验证并严格风控。中文自媒体来源无法给出可靠 URL,统一标注「中文自媒体(抖音/视频号/公众号)观点,未经验证」。
PlantUML diagram
组件图:A 股民间与自媒体战法族谱(情绪/打板/量价/均线/形态)

战法 CN1:三倍量大阳线战法

热度:中文自媒体高热(「5 万滚到 254 万」类话术);见产品部《搜集全球全网最牛逼的策略》整理。

适用:A 股 · 日线 · 量价/波段。

# 第一步:收盘后选出「今日成交量 ≥ 昨日 3 倍且收阳」的票
cand = [s for s in market if vol[s] >= 3 * vol_prev[s] and close > open]
# 第二步:以该大阳线收盘价画水平线 key
key = close_of_signal
# 第三步:等待缩量回调后重新站上 key
long_enter = pullback_shrink_volume and close[-1] > key

出场/止损:跌破 key 或跌破大阳线开盘价止损;冲高放量滞涨止盈。

优缺点与失效:逻辑(量在价先)可解释;横截面全市场选股、需逐票跟踪,样本外胜率不稳定,小盘股易被操纵。

战法 CN2:尾盘买入·早盘卖出(隔夜套利)

热度:中文自媒体高热(「杨永兴隔夜套利」「尾盘定型期」)。

适用:A 股 · 隔夜 · 民间。

# 14:30-15:00 选股,八步过滤:
# 涨幅 3%~5%;近 20 日有涨停(涨停基因);量比>1;换手 15%~20%;
# 总市值 50~200 亿;全天站分时均价线上;走势强于大盘;
# 创新高后回踩分时均价线不破 → 尾盘买入
long_enter = in_window(14,30,15,0) and 0.03 <= pct <= 0.05 and had_limit_up_20d \
             and turnover in [0.15, 0.20] and 5e9 <= mktcap <= 2e11 \
             and price_above_vwap and pullback_hold_vwap
# 次日早盘无条件清仓(除非缩量/一字涨停)
exit = next_day_open_or_10am   # 冲高 1.5%~2% 或跌破分时均价线即走

风险:隔夜黑天鹅、尾盘诱多、T+1 无法当日卖出;胜率依赖市场情绪周期,连续低开则连续止损。

备注:原始战绩来自 2007 牛市环境,量化资金占比提升后历史胜率难以复刻。

战法 CN3:打板 / 首板战法

热度:中文短线圈核心方法。

适用:A 股 · 日内-隔夜 · 情绪。

# 盘中涨停瞬间排队买入(打板),追求次日溢价
# 提高封板率:避开 9:50 前直接猛拉的早板;优选 9:50 后资金合力拉板
long_enter = price == limit_price and board_time > auction_window \
             and seal_strength(封单量/流通盘) > threshold
exit = next_day_open   # 竞价/开盘按溢价决定去留

风险:炸板即深套、流动性差、极依赖盘口与情绪;无法用纯日线数据复现,量化建模需 Level-2 逐笔与封单数据。

战法 CN4:龙头战法 / 空间板

热度:中文短线圈(「只做龙头」)。

适用:A 股 · 短线 · 情绪。

# 龙头 = 板块内最先涨停、连板高度最高、辨识度最强者
lead = argmax(board_height, board_frequency, turnover) within sector
long_enter = lead is first_board or breaks_highest_board_on_strength
exit = 断板 / 跌破 5 日线 / 情绪退潮

风险:龙头切换快、接力失败率极高;本质是情绪博弈,非可稳定复制的统计优势。

战法 CN5:连板接力 / 涨停基因

热度:中文短线圈。

适用:A 股 · 短线 · 情绪。

# 近 10 日 2 连板或近 90 日 4 连板的「人气股 / 高标股」
watchlist = [s for s in market if boards_10d(s) >= 2 or boards_90d(s) >= 4]
long_enter = watchlist and first_board_today and volume_confirms

风险:高标股波动极大,退潮期连续跌停;需严格仓位与情绪指标配合。

战法 CN6:半路 / 低吸打板

热度:中文短线圈。

适用:A 股 · 日内。

# 半路:在冲板途中(未封板)买入,赌当日封板;低吸:回调到支撑再买
halfway_enter = intraday_breakout and volume_expanding and not_yet_limit
dip_enter     = pullback_to_support and board_intent_intact

风险:需分时与盘口数据;炸板/回封失败风险高。

战法 CN7:龙虎榜跟随

热度:中文短线圈(跟随知名游资席位)。

适用:A 股 · 短线 · 事件/资金流。

# 收盘后查看龙虎榜,统计「知名营业部」净买入,次日跟随
hot_seats = known_youzi_seats_from_history
long_enter = seat_net_buy_today in hot_seats and board_strength_ok
exit = 次日冲高 / 跌破前收

风险:席位可对倒、信息公开滞后;跟随效应近年衰减。

战法 CN8:缠论(走势类型 / 背驰)

热度:中文圈极热,B 站/知乎教程海量。

适用:A 股 / 期货 · 全周期 · 形态。

# 核心:笔→线段→中枢→走势类型;买卖点 = 趋势背驰 / 盘整背驰
# 第一类买点:下跌趋势中出现底背驰(MACD 面积/力度缩小)
buy1 = down_trend and bottom_divergence(macd_area)
buy2 = first_pullback_not_new_low_after_buy1

优缺点与失效:给出了结构化的走势分解框架;但「分笔/分中枢」主观性强、多解,机械编码困难,易过拟合。

备注:缠中说禅《缠论》;市面实现多为半自动辅助。

战法 CN9:江恩理论(角度线 / 时间周期)

热度:经典理论,中文圈与外汇圈长盛。

适用:全市场 · 中长线 · 形态/周期。

# 价格=时间:1x1、1x2 等角度线;关键时间窗(节气/周年前后)易变盘
support = gann_angle_from_pivot(slope=1)
turn_window = bars_since_pivot in gann_time_cycles
long_enter = price_holds_gann_angle and in_time_window

优缺点与失效:提供价格-时间对称视角;极其主观、事后归因明显,难机械回测。

战法 CN10:量学 / 量柱理论

热度:中文圈(「量柱必先于价柱」)。

适用:A 股 · 短线-波段 · 量价。

# 通过「倍量柱、缩量柱、梯量柱」判断主力吸筹/出货
accumulation = low_position and volume_shrinking_pattern and no_price_breakdown
long_enter = breakout_with_volume after accumulation

风险:概念丰富但定义模糊,缺少统计验证。

战法 CN11:涨停回踩 5 日线

热度:中文圈常用。

适用:A 股 · 短线。

long_enter = had_limit_up_recently and close[-1] near ma5 and ma5 rising and pullback_shrink_volume
exit = break ma5 / 冲高

风险:强势股回踩可延续,也可能直接补跌;需大盘与情绪配合。

战法 CN12:T+0 做 T 降成本

热度:中文圈(底仓不动,日内高抛低吸)。

适用:A 股(有底仓)· 日内。

# 已有底仓,日内用部分仓位做 T:低点买回、高点卖出等价,降低持仓成本
buy_t  = intraday_dip_signal and holding_position
sell_t = intraday_spike_signal and t_position_open

风险:做反会抬高成本;对择时与交易成本要求高。

战法 CN13:打新 / 可转债套利

热度:中文圈低风险偏好者广泛参与。

适用:A 股 / 转债 · 事件。

# 打新:申购新股价差;转债:低价债 + 正股博弈、折溢价套利
subscribe_ipo = eligible_account and ipo_window
convertible_arb = bond_price < conversion_value * (1 - discount)

风险:中签率低、破发风险;转债有强赎与信用风险。

战法 CN14:封单 / 盘口语言

热度:中文短线圈。

适用:A 股 · 日内 · 微观结构。

# 封单量、封单撤单、买一卖一挂单变化判断主力意图
strong_seal = seal_volume / float_share > threshold and seal_not_waning
long_enter = limit_up and strong_seal

风险:需 Level-2 逐笔数据;封单可虚假、可瞬间撤单。

战法 CN15:缺口 + 龙头首板套利

热度:中文短线圈。

适用:A 股 · 隔夜。

long_enter = gap_up_after_first_board and sector_hot and auction_strong
exit = next_day_gap_or_10am

风险:情绪退潮时缺口不补反杀。

战法 CN16:均线回踩低吸(买阴不买阳)

热度:中文自媒体(「买阴富三代,买阳穷三代」)。

适用:A 股 · 隔夜 · 趋势/民间。

# 14:30 后选股:缩量阴线回踩向上翘头的 10 日均线,前期有过放量大阳线
long_enter = yin_candle and shrink_volume and near_ma10 and ma10_slope > 0 \
             and had_volume_big_bull_before
exit = next_day: 低开破 MA10 止损;10:00 冲高 1.5%~2% 止盈

风险:大盘系统风险、假回踩诱多、连续止损、成交量失真。

战法 CN17:趋势跟踪 + 金字塔加仓

热度:经典资金管理,趋势系统常用。

适用:期货 / 加密 · 波段 · 趋势/仓位。

# 浮盈后按间隔加仓,每次加仓量递减(金字塔),整体止损上移
if in_position and unrealized_pnl > add_interval and units < max_units:
    add_position(size = base_size * decay ** units)
    stop = avg_entry - atr * mult      # 止损上移

优缺点与失效:盈利加仓放大趋势利润;加仓后回撤加大,需严格移动止损。

参考实现:海龟原版;je-suis-tm/quant-trading。

战法 CN18:海龟 ATR 分档加仓(原版)

热度:海龟交易法则原版仓位规则。

适用:期货 · 波段 · 趋势/仓位。

unit = (equity * risk_pct) / (atr * point_value)    # 1 个单位
add_every = 0.5 * atr                                # 每盈利 0.5 ATR 加一档
max_units = 4
stop = entry - 2 * atr                               # 初始止损;加仓后上移

优缺点与失效:以波动率定义风险与加仓节奏,是系统化交易的里程碑;单市场滞后、连续加仓遇反转回撤大,需全市场分散。

参考实现:《The Complete TurtleTrader》;backtrader 示例。

24. 加密特有策略(CR1-CR14)

加密市场(现货 + 永续 + DeFi)的独特结构(7×24 交易、永续资金费率、跨所价差、链上透明、无涨跌停)催生了一批传统市场没有或不主流的策略。本节收录其热门代表,均给出可编码规格。

PlantUML diagram
组件图:加密特有策略族(套利 / 波动 / 链上 / 收益 / 跟随)

策略 CR1:网格交易(Grid Trading)

热度:CEX 机器人(币安/OKX)与外汇 EA 普及度极高。

适用:加密 / 外汇 · 震荡 · 均值回归。

# 在 [lower, upper] 区间均匀挂 N 档买卖单,价格每下穿一档买入、上穿一档卖出
grids = linspace(lower, upper, n)
for level in grids:
    place_limit_buy(level) if price crosses down else place_limit_sell(level)
# 区间外:突破则停止网格 / 重新设区间(避免单边被套)

优缺点与失效:震荡市稳定收割波动;单边趋势中逆势累积浮亏(需仓位与区间管理),是「卖出波动率」的现货变体。

参考实现:freqtrade;币安网格机器人。

策略 CR2:马丁格尔 / 反马丁格尔

热度:交易机器人常配资金管理。

适用:加密 / 外汇 · 日内 · 资金管理。

# 马丁:亏损后加倍下注;反马丁:盈利后加倍(截断亏损、让利润奔跑)
if last_trade_loss: size *= martingale_mult      # 马丁(危险)
if last_trade_win:  size *= antimartingale_mult  # 反马丁(更稳健)

优缺点与失效:马丁在震荡中回本快,但一次极端单边即爆仓(长期负期望);反马丁风险可控但需正期望信号支撑。

参考实现:freqtrade 仓位自定义;各类网格/马丁 EA。

策略 CR3:资金费率套利

热度:加密圈公认低风险套利。

适用:永续合约 · 持有 · 套息。

# 永续资金费为正:做多现货 + 做空等量永续,收取资金费(delta 中性)
if funding_rate > 0:
    long_spot(q); short_perp(q)      # 每隔资金费周期收一次
if funding_rate < 0:
    short_spot(q); long_perp(q)

优缺点与失效:市场中性、收益稳定(年化随行情波动);需管理保证金、爆仓风险与资金费率转负,交易成本与借币成本侵蚀收益。

参考实现:awesome-quant 加密套利条目。

策略 CR4:跨所搬砖 / 现货-合约对冲

热度:加密圈普及。

适用:加密 · 日内 · 套利。

spread = price_exchange_B - price_exchange_A
if spread > cost_threshold: buy_A_and_sell_B(spread)     # 同步双腿
# 或现货-合约对冲:同一标的两市场反向持仓,赌价差收敛

优缺点与失效:逻辑直观;提币/转账延迟、滑点、两腿成交不同步与交易所风险是主要失效来源。

策略 CR5:三角套利

热度:加密 / 外汇经典。

适用:加密 / 外汇 · 高频 · 套利。

# A/B、B/C、C/A 三个市场,检验环形汇率是否偏离 1
implied = (A/B) * (B/C) * (C/A)
if implied > 1 + fee: 按路径循环下单套利;if implied < 1 - fee: 反向

优缺点与失效:市场中性、无需方向判断;机会转瞬即逝、被 HFT 抢占,需低延迟与低费率。

策略 CR6:DEX MEV / 三明治

热度:链上套利最热话题之一。

适用:DeFi · 高频 · 微观结构。

# 监控内存池待成交大单,抢先买入 + 大单后卖出(三明治),或清算/回撤套利
if pending_swap_size > threshold and slippage_tolerance > threshold:
    front_run_buy(); back_run_sell()

风险:Gas 竞价战、失败交易损失 Gas、MEV 被 Flashbots 私有化通道挤压;涉及链上伦理与合规争议。

策略 CR7:流动性挖矿 / 收益农场

热度:DeFi 热门。

适用:DeFi · 持有 · 套息。

# 向 AMM 池提供流动性赚手续费 + 代币激励;关注无常损失(IL)与 APY
net_apy = fee_apy + reward_apy - impermanent_loss_drag
if net_apy > risk_free + risk_premium: provide_liquidity()

风险:无常损失、智能合约漏洞、代币激励贬值、Rug Pull。

策略 CR8:跟单 / 带单交易

热度:CEX 社交交易爆款功能。

适用:加密 · 全周期 · 跟随。

# 选择历史夏普高、回撤可控、风格稳定的带单员,按比例镜像其仓位
leader = rank_traders(sharpe, max_dd, consistency)
follow(leader, size_ratio)

风险:幸存者偏差、带单员风格漂移、黑天鹅与滑点不同步;跟单≠稳赚。

策略 CR9:链上指标(MVRV / SOPR / 交易所净流出)

热度:加密研究(Glassnode/CryptoQuant)热门。

适用:加密 · 中长线 · 基本面/情绪。

# MVRV = 市值 / 已实现市值,低位<1 累积、高位>3.5 减仓
# SOPR:花费产出利润率,<1 恐慌、持续>1 复苏;净流出交易所 = 囤币
if MVRV < 1.0: accumulate()
if MVRV > 3.5: distribute()

优缺点与失效:宏观择时有效;数据滞后、链上口径多样,不能精确择时。

策略 CR10:恐惧贪婪 / 资金情绪逆向

热度:加密圈。

适用:加密 · 波段 · 情绪。

fg = fear_greed_index   # 0-100
long_enter  = fg < 15    # 极度恐惧逆向做多
short_enter = fg > 85    # 极度贪婪逆向做空

优缺点与失效:逆向思维有行为金融依据;情绪可在极值区持续很久,需分批与止损。

策略 CR11:减半 / 牛熊周期定投

热度:加密圈最具号召力叙事。

适用:加密 · 中长线 · 周期/定投。

# 减半后 12-18 个月常进入牛市中后期;按周期位置调整定投/止盈
phase = halving_cycle_phase(now)          # accumulate / bull / distribute / bear
dca_amount = base_amount * weight[phase]

风险:历史样本仅 3-4 次、统计意义弱;叙事驱动的择时不可依赖。

策略 CR12:期现套利(现货 + 空永续)

热度:加密机构与散户常用。

适用:加密 · 持有 · 套利。

# 当永续相对现货升水(基差为正)且资金费为正:
long_spot(q); short_perp(q)      # 收敛时平仓,赚基差 + 资金费

优缺点与失效:市场中性;基差扩大时浮亏、需保证金管理,极端行情两腿同时受限。

策略 CR13:跨期套利(近月 / 远月)

热度:期货经典,加密交割合约亦用。

适用:期货 / 加密 · 持有 · 套利。

spread = price_far - price_near
if spread > upper_band: short_far(); long_near()    # 赌价差收敛
if spread < lower_band: long_far(); short_near()

优缺点与失效:价差均值回归;极端供需(挤仓/交割逼仓)下价差不收敛。

策略 CR14:永续-交割基差套利

热度:加密衍生品圈。

适用:加密 · 持有 · 套利。

basis = perp_price - delivery_price
if basis > threshold: short_perp(); long_delivery()   # 到期基差归零

优缺点与失效:到期收敛确定性强;需处理移仓、资金费与流动性。

25. 统计套利与相对价值补全(AR1-AR8)

Part 3 §11 已给出配对交易、z-score、Kalman 与组合套利框架。本节补充机构与传统市场更完整的相对价值策略。

策略 AR1:ETF / 指数套利

热度:机构经典(指数套利是程序化交易的起点)。

适用:股票 / ETF · 日内 · 套利。

nav = sum(weights * component_price) / divisor       # ETF 净值估算
premium = etf_price - nav
if premium > cost: buy_basket(); sell_etf()          # 正向套利
if premium < -cost: buy_etf(); sell_basket()

优缺点与失效:市场中性;容量受成分股流动性限制,需极低延迟与低费率。

策略 AR2:跨市场统计套利

热度:机构。

适用:跨市场(A/H、ADR、ETF/期货)· 波段 · 套利。

# 同一资产在不同市场的价格应长期协整
spread = log(price_A) - beta * log(price_B)
z = (spread - mean(spread)) / std(spread)
if z > 2: short_A_long_B(); if z < -2: long_A_short_B()

优缺点与失效:利用制度/资金分割造成的价差;需处理汇率、交易时段错位与资本管制。

策略 AR3:可转债套利

热度:中文圈与机构。

适用:A 股转债 · 事件 · 套利。

conv_value = 100 / conversion_price * stock_price
premium = bond_price / conv_value - 1
# 折价买入转债 + 融券卖正股(或低价债 + 正股博弈)
long_enter = premium < -cost  or (bond_price < 110 and stock_vol_high)

优缺点与失效:下有债底、上随正股;强赎、信用违约与流动性风险。

策略 AR4:并购套利 / 风险套利

热度:事件套利经典。

适用:股票 · 事件 · 事件套利。

# 并购公告后:买入被收购方,赌交易完成赚取要约价与市价之差
spread = offer_price - target_price
long_enter = announced_merger and annualized_spread > hurdle and deal_completion_prob > threshold

优缺点与失效:收益与并购成功率挂钩;交易失败即暴跌(尾部风险)。

策略 AR5:封闭式基金折价套利

热度:经典。

适用:基金 · 持有 · 套利。

discount = (nav - price) / nav
long_enter = discount > threshold and holding_to_maturity_or_open_end

优缺点与失效:折价回归或到期清算;折价可能长期存在(流动性/情绪)。

策略 AR6:期现基差套利(股指)

热度:经典机构策略。

适用:股指期货 · 日内-持有 · 套利。

basis = futures_price - index_price
if basis > upper: short_futures(); long_basket()      # 正向套利
if basis < lower: long_futures(); sell_basket()       # 反向(需融券)

风险:基差不收敛、交割与保证金、融券成本;A 股受融券限制。

策略 AR7:外汇套息(Carry Trade)

热度:外汇经典。

适用:外汇 · 中长线 · 套息。

# 借入低息货币,买入高息货币,赚取利差
long_enter = interest_rate_diff(high_yield, low_yield) > threshold and low_vol_regime

风险:利差收益易被汇率波动吞没(套息交易崩溃);极端行情下高息货币暴跌。

策略 AR8:三角外汇套利

热度:外汇经典。

适用:外汇 · 高频 · 套利。

implied = EUR/USD * USD/JPY / EUR/JPY
if implied > 1 + fee: 沿有利路径循环买/卖

优缺点与失效:无方向风险;点差与延迟决定成败,散户难参与。

26. 因子投资细化(FT1-FT8)

Part 3 §12 已给出动量 / 价值 / 质量低波 / 多因子合成。本节补全常见单因子与风格轮动,规格以「暴露度排序 + 组合构建」形式给出。

因子 FT1:规模因子(小盘)

热度:Fama-French 三因子之一。

适用:股票 · 中长线 · 因子。

size = log(market_cap)
portfolio = long(smallest quintile); short(largest quintile)   # 小盘溢价

优缺点与失效:长期存在小盘溢价;流动性差、换手成本高,近年在部分市场失效。

因子 FT2:成长因子

适用:股票 · 中长线。指标:营收/利润同比增速。组合:做多高增速、做空低增速。

growth = revenue_yoy or eps_yoy
long_high_growth(); short_low_growth()

优缺点与失效:成长股弹性大;估值过高时回撤剧烈。

因子 FT3:股息率因子

适用:股票 · 中长线(红利策略)。

dy = dividend / price
long_high_dividend_yield_basket()

优缺点与失效:防御性强、熊市抗跌;成长市跑输,注意「股息陷阱」。

因子 FT4:波动率因子(低波异象)

vol = std(returns, 60)
long_low_vol_basket(); short_high_vol_basket()

适用:股票 · 中长线。低波动组合风险调整后收益常优于高波动。

因子 FT5:行业轮动

momentum_by_sector = sector_index_return(lookback)
long_top_sectors(n=3); rebalance_monthly()

适用:股票 · 中长线 · 轮动。失效:快速风格切换时追高杀跌。

因子 FT6:风格轮动(大小盘 / 价值成长)

spread = style_A_return - style_B_return
long_enter = spread > ma(spread, n)     # 动量确认后切换风格

适用:股票 · 中长线。失效:风格切换无规律、频繁打脸。

因子 FT7:ESG 因子

score = esg_rating(company)
long_high_esg_basket()

适用:股票 · 中长线。优点:长期风险与资金偏好;争议:评级口径不一、超额不显著。

因子 FT8:期权隐含因子 / 偏度

skew = iv(otm_put) - iv(otm_call)
long_enter = skew extreme and mean_reverting   # 期权隐含偏度异常时交易标的或波动率

适用:股票/期权 · 中长线。进阶因子,数据门槛高。

27. 事件驱动补全(ED1-ED6)

Part 3 §15 已覆盖财报漂移、公告 CAR、新闻情绪。本节补全其余经典事件驱动策略。

策略 ED1:指数纳入 / 剔除

热度:被动资金时代的经典事件。

适用:股票 · 事件。

# 指数调整公告到生效之间,纳入股有买盘压力、剔除股有卖压
long_enter  = announced_index_add and days_to_effective in [1, 10]
short_enter = announced_index_delete
exit = effective_date 前后 reversal(利好出尽)

优缺点与失效:机制清晰、可预期;近年效应被提前交易而衰减。

策略 ED2:期权到期日效应(OpEx)

适用:股票 / 期权 · 事件。

# 月度/季度 OpEx 前后,Gamma 对冲与 Pin Risk 使价格向高持仓行权价靠拢
long_enter = in_opex_week and price near_max_open_interest_strike and dealer_gamma_positive

优缺点与失效:做市商对冲流可预测;效应不稳定、需持仓分布数据。

策略 ED3:分红除权套利

# 除权除息日价格调整,配合融券与税收/股息处理进行套利
long_enter = cum_dividend_buy and short_before_ex_date (若可融券)

适用:股票 · 事件。风险:股息税、融券成本与制度限制。

策略 ED4:宏观数据发布交易

# 非农/CPI/利率决议公布瞬间,波动率骤升,做「数据后动量」或事件前买跨式
if macro_event_released and surprise > threshold: trade_in_direction_of_surprise

适用:外汇 / 期货 · 日内。风险:滑点极大、瞬间反向,散户难执行。

策略 ED5:财报超预期(SUE)

sue = (actual_eps - expected_eps) / std(eps_surprise)
long_enter = sue > threshold and days_after_earnings <= 60   # 配合 PEAD

适用:股票 · 事件。风险:预期数据口径、财报跳空。

策略 ED6:供股 / 增发事件

# 折价增发/供股公告对老股东稀释,短期承压
short_enter = announced_dilutive_offering
# 或参与折价认购套利(视制度)

适用:股票 · 事件。风险:事件窗口短、流动性冲击。

28. 期权与波动率补全(OP1-OP8)

Part 2 §10.8 已给出 IV Rank、买方跨式、卖方跨式+Delta 对冲、铁鹰。本节补全剩余主流期权策略。

策略 OP1:VRP 方差风险溢价

热度:学术与机构核心(卖出波动率长期正溢价)。

适用:期权 / 指数 · 中长线 · 波动率。

vrp = implied_vol - realized_vol
if vrp > threshold: sell_straddle_or_variance_swap()   # 收割 IV 高于 RV 的溢价
hedge = delta_hedge_to_neutral()

优缺点与失效:长期正期望;危机时波动率飙升,「捡钢镚」式收益伴随尾部巨亏。

策略 OP2:Gamma Scalping

# 持有期权多 Gamma,用标的做 Delta 对冲,赚取实际波动 > 隐含波动 的差额
long_straddle(); delta_hedge_frequently()
profit ≈ 0.5 * gamma * (realized_var - implied_var)

适用:期权/标的 · 日内 · 波动率。风险:对冲成本、需高频再平衡。

策略 OP3:日历价差(Calendar Spread)

# 卖近月、买远月同执行价,赚近月 Theta 衰减快于远月 + 期限结构
short_near_straddle(); long_far_straddle()

适用:期权 · 波段 · 波动率。风险:近月 Gamma 风险、大波动亏损。

策略 OP4:蝶式 / 鹰式(Butterfly / Condor)

# 有限风险、押注价格落在区间内;铁鹰 = 卖出宽跨 + 买入更宽保护
iron_condor = short_otm_call() + short_otm_put() + long_far_call() + long_far_put()

适用:期权 · 波段 · 波动率。风险:区间外亏损、胜率高但盈亏比低。

策略 OP5:0DTE 末日轮

热度:美股近年爆火(当日到期期权)。

适用:期权 · 日内 · 波动率。

# 当日到期期权 Gamma 极大,价格对标的微小变动极敏感
long_enter = intraday_breakout_signal and near_expiry
size = base * gamma_multiple    # 注意风险极大

风险:时间价值瞬间归零、波动极端,本质是高杠杆赌博,须极小仓位。

策略 OP6:Covered Call / 现金担保认沽

# 持股卖看涨(Covered Call)或持币卖看跌(CSP),收取权利金增强收益
covered_call = long_stock() + short_call(otm)
cash_secured_put = short_put(otm) with full collateral

适用:股票 / 期权 · 中长线 · 收益增强。风险:卖 Call 封顶上涨、卖 Put 下跌接盘。

策略 OP7:波动率期限结构套利

term_slope = iv(short_expiry) - iv(long_expiry)
if term_slope > upper: short_near_vol(); long_far_vol()
if term_slope < lower: long_near_vol(); short_far_vol()

适用:期权 · 波段 · 波动率。风险:期限结构可在危机中持续倒挂。

策略 OP8:偏度 / 尾部对冲

# 长期买入价外认沽(或 put ratio),对冲尾部风险,牺牲少量 carry
hedge = long_otm_put(monthly, 3-5% otm)   # 或 put spread collar

适用:股票组合 · 中长线 · 波动率。优点:危机保护;缺点:长期成本拖累收益。

29. 机器学习补全(ML5-ML6)

Part 3 §14 已覆盖特征工程、XGBoost/LightGBM、深度学习与强化学习。本节补充两类研究热门方法。

策略 ML5:遗传规划 / 符号回归(Symbolic Regression)

热度:Alpha 挖掘研究热门(gplearn、WorldQuant 思路)。

适用:全市场 · 全周期 · ML。

# 用遗传算法在算子/特征空间搜索能最大化 IC/夏普的公式
population = random_formulas(features, operators)
for gen in range(generations):
    fitness = ic(formula_signal, forward_return)
    population = select_mutate_crossover(population, fitness)
best_formula = argmax_fitness(population)

优缺点与失效:可自动发现非线性因子;极易过拟合、公式可解释性差,须严格样本外与多重检验校正。

策略 ML6:聚类 / 隐马尔可夫状态识别(Regime Detection)

# 用 HMM 把市场分为牛/熊/震荡状态,再按状态切换策略
model = HMM(n_states=3); model.fit(returns_features)
state = model.predict(current_features)
strategy = {0: trend, 1: mean_revert, 2: cash}[state]

适用:全市场 · 全周期 · ML。优缺点:让策略自适应市场状态;状态识别滞后、状态数选择主观。

30. 高频、做市与微观结构(HX1-HX6)

Part 3 §17 已覆盖成本模型、TWAP/VWAP、订单类型。本节补全高频与做市策略(部分需 Level-2/逐笔与低延迟基础设施)。

策略 HX1:做市(Market Making)

热度:HFT 核心,加密做市商主力。

适用:全市场 · 高频 · 做市。

# 同时在买卖两侧挂单,赚取买卖价差,管理库存风险
bid = mid - spread/2 - inventory_skew
ask = mid + spread/2 - inventory_skew
quote(bid, ask)                       # 库存偏移使持仓回归中性

优缺点与失效:提供流动性赚价差;面对逆向选择(被知情者扫单)与库存风险,需极低延迟与风控。

策略 HX2:订单流不平衡(Order Flow Imbalance)

ofi = sum(bid_size_delta) - sum(ask_size_delta) over window
long_enter = ofi > threshold      # 买盘主动性强 → 短期价格上行

适用:期货 / 加密 · 高频 · 微观结构。风险:数据与延迟门槛高。

策略 HX3:VPIN 毒性订单流

vpin = |buy_volume - sell_volume| / total_volume over volume_bucket
if vpin > threshold: 暂停做市 / 降低仓位   # 订单流「有毒」,知情交易活跃

应用:做市商风控、闪崩预警(Easley/O'Hara)。

策略 HX4:延迟套利 / 抢跑

# 利用行情传播延迟或不同交易所报价时差,抢先成交
if price_A_updated_before_B and divergence > threshold:
    trade_B_before_repricing()

适用:全市场 · 高频。风险:军备竞赛、监管关注、对散户不公平。

策略 HX5:冰山 / 隐藏单执行

# 大单拆分隐藏,按需曝光,减少冲击成本
for chunk in split(order_size, display_size):
    place_iceberg(chunk)

应用:机构执行。目标是最小化市场冲击,而非 alpha 信号。

策略 HX6:高频统计套利

# 组合内多标的短期均值回归,分钟/秒级进出
z = (price - vwap_short) / std_short
if z > 2: short(); if z < -2: long()

适用:股票 / 期货 · 高频 · 套利。风险:竞速、费用敏感、容量有限。

31. 全市场特性与适配

同一策略在不同市场的有效性差异极大,根源在交易制度与参与者结构。下表给出各市场特性与主流策略适配。

PlantUML diagram
组件图:全市场 × 全风格适配矩阵(市场制度 → 主流策略族)
市场关键制度主流策略数据与约束
A 股T+1、涨跌停、龙虎榜、散户占比高打板/龙头/情绪、量价、均线回踩、事件(打新/转债)Level-2 逐笔、公告、龙虎榜;做空困难、T+1 限制高频
美股T+0、无涨跌停、做空便利、期权发达因子、PEAD、并购套利、期权波动率、0DTE、动量数据齐全、竞争激烈;盘前盘后与跳空风险
港股T+0、无涨跌停、老千股风险价值/红利、AH 套利、事件流动性分化大、仙股风险
加密7×24、永续/资金费、无涨跌停、跨所网格、马丁、资金费率套利、三角/跨所、链上、趋势数据透明、交易所信用风险、极端波动
商品期货双向 T+0、杠杆、交割CTA 趋势、Dual Thrust、跨期/跨品种套利、突破夜盘、主力换月、保证金管理
股指期货基差、交割、日内限制期现套利、趋势、日内 ORB基差与保证金、政策限制
外汇24h、高杠杆、利差套息、三角套利、趋势、突破流动性好、点差与隔夜费;零售平台对手盘风险
期权非线性损益、隐含波动率VRP、跨式/铁鹰、日历、Gamma Scaping、尾部对冲希腊字母、行权与流动性、保证金
债券利率敏感、久期久期/曲线套利、信用利差、国债期货基差机构为主、数据门槛高
适配原则:① 先看制度约束(能否做空、能否日内、涨跌停、T+0/T+1)再谈策略;② 再看参与者结构(散户 vs 机构、情绪 vs 基本面)决定 alpha 来源;③ 最后看数据可得性(逐笔、盘口、期权链、链上)决定策略可实现层级。

32. 风险、失效场景与合规提示

风险类型典型场景缓解
过拟合参数在历史上完美、样本外失效样本外/滚动验证、参数敏感性、多重检验校正
幸存者偏差只统计成功者(带单员/自媒体战绩)全样本统计、区分牛熊、警惕收益话术
前视 / 数据泄漏用了当时不可得的信息点时数据、公告时间戳、避免未来函数
交易成本高频/隔夜被手续费与滑点吃掉纳入费率/滑点/冲击成本回测
制度与政策涨跌停、T+1、融券限制、监管变化按市场制度设计,预留失效应对
流动性 / 容量策略容量小、大资金冲击成本高容量分析、分批执行
尾部风险卖波动率、马丁、套息被极端行情击穿硬止损、保证金管理、尾部对冲、仓位上限
模型风险(ML)分布漂移、模型退化监控与再训练、人类可读约束
合规风险荐股、跟单、收益承诺、内幕信息工具/教育定位、免责声明、信息隔离
合规底线:本文全部内容为方法论与知识梳理,不构成投资建议,不承诺任何收益。涉及民间/自媒体战法与加密策略时尤其注意:其历史战绩多为个例与话术,缺少可复现证据;实盘亏损风险自负,并须遵守所在市场的法律法规(如内幕交易、市场操纵、无牌荐股等禁止性规定)。

33. 参考来源与索引

33.1 开源仓库

仓库说明
freqtrade/freqtrade-strategies加密最热策略样例库(BbandRsi、MACD、Supertrend 等)
iterativv/NostalgiaForInfinity布林带 + RSI 组合体系,freqtrade 社区最热门策略
je-suis-tm/quant-trading大量可复现策略脚本(趋势/形态/量价/季节)
mementum/backtrader经典回测框架与示例(各策略骨架)
mrjbq7/ta-lib技术指标标准库(RSI/MACD/ATR/ADX/CCI…)
wilsonfreitas/awesome-quant量化资源与库索引

33.2 指标与策略百科

33.3 经典著作与来源

  • 《The Complete TurtleTrader》— 海龟交易法则与 ATR 仓位管理
  • 《Trading for a Living》— Elder 三重滤网
  • 《Trade Your Way to Financial Freedom》— Tharp 仓位与期望值
  • Fama & French 三因子/五因子、Jegadeesh & Titman 动量、Easley & O'Hara VPIN 等学术论文
  • 中文自媒体(抖音 / 视频号 / 公众号 / 知乎)战法:标注为「观点,未经验证」

Part 5 完。本文全部内容为方法论梳理,不构成投资建议。

附录

A. 策略 × 市场状态适配矩阵

市场状态推荐策略避免策略
强上升趋势T1/T2/T3(做多)、V3 扩张突破、Q1 放量突破R1/R2 反手做空、均值回归类
强下降趋势T1/T2/T3(做空)、M1 零轴下金叉谨慎R2 抄底、V1 触下轨盲目做多
震荡区间R1 2B、R2 RSI 背离、V1 触轨回归、R5 K线反转、S2 z-score、S1 配对T1/T2 趋势突破(假突破多)
低波动待变V3 带宽扩张、T2 通道突破(等待爆发)R 类反转(无空间)
开盘时段(日内)T10 ORB 开盘区间突破震荡日开盘假突破(须量能过滤)
IV 低位(波动率便宜)O2 买跨式(事件前建仓)O3/O4 卖波动率(溢价薄、不划算)
IV 高位(波动率昂贵)O3 卖跨式+Delta 对冲、O4 铁鹰O2 买跨式(易被 IV Crush 吃掉)
财报/宏观事件窗口O2 买跨式(IV Rank 低位时)、E1 PEAD事件前盲卖波动率(跳空风险)
全状态(横截面)F1~F4 因子(股票池)、E1 PEAD(财报季)单一标的高频摩擦费
无法判断空仓 / 降仓位(P3 Kelly 分数仓)强行交易
加密永续资金费为正CR3 资金费率套利、CR12 期现套利(收资金费)裸多永续(付费方)
加密永续资金费为负CR3 反向套利(做多永续 + 空现货)裸空永续
窄幅区间震荡CR1 网格、H17 BbandRsi、V1 布林回归趋势突破 / 追涨杀跌
低波动收缩待变(Squeeze)H16 Squeeze Momentum、V3 带宽扩张区间内频繁高抛低吸
链上指标极值(MVRV 低/高)CR9 链上周期(低吸/高抛)情绪追涨杀跌
市场情绪极值(恐惧/贪婪)CR10 情绪逆向顺情绪满仓
并购/指数调整事件窗口AR4 并购套利、ED1 指数纳入剔除无事件驱动的高频交易

B. 指标计算口径

指标计算口径要点
MA(n)最近 n 根收盘价算术平均滞后,周期越大越平滑
EMA(n)加权平均,权重随距离衰减比 MA 反应快
RSI(n)100 - 100/(1+平均涨幅/平均跌幅)Wilder 平滑,0~100
MACDDIF=EMA12-EMA26; DEA=EMA(DIF,9)柱=2×(DIF-DEA) 或 DIF-DEA
BOLL(n, k)中轨=MA(n); 上/下轨=中轨±k×σσ 需明确总体/样本标准差
ATR(n)TR=max(H-L,|H-Cprev|,|L-Cprev|) 的均值Wilder 平滑或简单平均
ADX(n)由 +DI/-DI 导出的方向强度0~100,>25 强趋势
OBV价格涨加成交量、跌减成交量累积方向比数值重要
KDJRSV→K(SMA)→D(SMA)→J=3K-2Dn=9, k=d=3
SAR前一极值±加速因子累积af 0.02 起,上限 0.2
Ichimokutenkan/kijun/senkou_A/senkou_B/chikou9/26/52 日线
VWAPΣ(typical×vol)/Σvol(当日)typical=(H+L+C)/3
协整 βOLS: y=α+βx+ε,ε 平稳残差 ADF 检验 p<0.05
z-score(x-均值)/标准差窗口滚动估计
ICSpearman(因子, 下期收益)截面相关
Kelly f(bp-p)/b,b=盈亏比用分数 Kelly
VaR / CVaR收益分布 5% 分位 / 尾部均值CVaR 为一致性度量
GARCH(1,1)σ²_t=ω+αε²+βσ²波动聚集
SUE(实际EPS-预期EPS)/EPS标准差财报超预期
IV(隐含波动率)Black-Scholes 反解:使模型价=市价的 σ(Newton-Raphson 迭代)以 Vega 作导数;欧式/美式模型选择影响结果
IV Rank(IV_now - min(IV,n)) / (max(IV,n)-min(IV,n)) × 100历史分位,判断波动率「贵/贱」
VRP(方差风险溢价)IV² - RV²(或 IV-RV)期权卖方长期收益来源
GreeksΔ/Γ/Θ/ν/ρ:价格对标的价/二阶/时间/波动/利率的敏感度Delta 对冲、Gamma 风险、Theta 收割
公式术语: 真实波幅(True Range, TR):单根K线最大波动幅度,公式见上表,是 ATR 的基础。
乖离率(BIAS):(收盘价-均线)/均线,衡量价格偏离均线的程度,用于超买超卖预警。
ADF 平稳性:|t| 大于临界值拒绝单位根假设 → 序列/残差平稳 → 协整成立。

C. 理论 → 适用标的 / 周期 / 前提 对照

理论/策略族适用标的常用周期成立前提/关键条件
技术分析(趋势/形态/量价)流动性好的任何标的分钟 ~ 周线群体行为可重复;需成交量数据
统计套利(配对/z-score)高相关资产(同行业股、ETF 对、期现)日线为主协整稳定;规避结构断裂(重组/危机)
因子投资大横截面股票池(数百~数千只)月频调仓需基本面/估值数据;行业中性化
时间序列建模流动性资产指数/期货日线及以上平稳性处理后建模;厚尾与异方差处理
机器学习大样本+多特征标的池依赖特征数据量大、信噪比可控;严格防泄漏
事件驱动(PEAD/公告)有定期信息披露的个股事件窗口日线事件日历数据;规避涨跌停/停牌
组合与风控(P1~P4)任何多策略/多资产组合与子策略一致协方差/波动估计;实时回撤监控
执行/微观结构所有实盘交易(大单更关键)分钟/tick成交回报与订单簿数据
开盘区间突破(T10 ORB)股指期货、大盘股分钟级日内开盘流动性好;区间时长/缓冲按品种标定
期权波动率(O1~O4)期权链(股票/指数期权)日线~周(DTE 30~60)需期权数据/IV/Greeks;VIX 数据辅助择时

D. 策略 × GitHub 参考仓库索引

各策略的参考实现索引(与正文「参考实现」标注对应)。框架类(backtrader / qlib / vn.py 等)跨多个策略复用,不逐一重复;star 数截至 2026-09,落地前请核对仓库维护状态与许可证。更全的工具清单见姊妹篇《量化交易系统》§6。

策略/策略族参考实现(GitHub 仓库)说明
T1 双均线mementum/backtrader(23k⭐)、rbhatia46/Dual-Moving-Average-Crossover-Python内置 SmaCross 官方示例 / AAPL 回测
T2 唐奇安/Turtlemementum/backtrader(DonchianChannelBreakout 示例)海龟法则框架
T3 葛兰碧 / T4 ADXmementum/backtrader、mrjbq7/ta-lib指标层标准库
R1~R5 反转/形态je-suis-tm/quant-trading含 RSI、Shooting Star、Pattern Recognition、London Breakout 等
V1 布林带mementum/backtrader(BollingerBandsMeanReversion 示例)、je-suis-tm/quant-trading均值回归官方示例
V2 ATR / V3 带宽mementum/backtrader、je-suis-tm/quant-tradingATR/Sizer 内置
M1 MACD / T6 SARje-suis-tm/quant-trading、mrjbq7/ta-libMACD、Parabolic SAR 脚本
M2 斐波那契 / M3 波浪无直接专仓主观性强;见 awesome-quant 目录
Q1~Q3 量价 / T5 KDJ / T7 %B / T8 Ichimoku / T9 VWAPmrjbq7/ta-lib、mementum/backtrader、je-suis-tm/quant-trading指标与日内工具全覆盖
T10 ORB 开盘区间突破umerdawood23/Opening-Range-Breakout-Strategy-in-Python、saurav-1980/ORB-strategy-、vp275/pj_orb_backtesterORB 回测器 / 研究级引擎 / Zerodha 版
S1~S4 统计套利nirajneupane17/Statistical-Arbitrage-Pairs-Trading、Ivan-Finance/pairs_trading协整/ADF/z-score/Kalman/Kelly 全流程
F1 动量因子iamzaheen/dax-momentum-backtest、Kevin20250000000/Quant-Trading---Momentum-StrategyJegadeesh-Titman 12-1 / S&P500 动量
F2~F4 因子microsoft/qlib(39k⭐)、quantopian/alphalens因子挖掘/多因子组合 / IC-分层检验
TS1 ARIMA / TS3 状态空间statsmodels/statsmodels、alkaline-ml/pmdarima、oseiskar/pykalmanARIMA 官方示例 / auto_arima / Kalman
TS2 GARCHbashtage/archARCH/GARCH/EGARCH 官方库
ML1~ML3 机器学习microsoft/qlib、microsoft/LightGBM特征/GBDT/深度学习基线
ML4 强化学习AI4Finance-Foundation/FinRL(15k⭐)RL 交易框架
E1/E2 事件驱动fincell-xaviers/pead-earnings-drift、aniketnmishra/PEAD、dylan-jeon/earnings-surprise-analysisPEAD 回测 / SUE / CAR 事件研究
E3 情绪 NLPProsusAI/finBERT金融情感预训练模型
P1~P2 组合优化robertmartin8/PyPortfolioOpt、dcajasn/Riskfolio-Lib均值-方差/风险平价/CVaR
P3~P4 仓位/风控ranaroussi/quantstats、dcajasn/Riskfolio-Lib绩效/回撤评估、CVaR 约束
X1~X3 执行abbass2/pyqstrat、joequant/algobroker、timkpaine/aat、alpacahq/pylivetrader成本建模 / 算法执行 / 订单模拟
O1/O2 期权 IV 与买跨式goldspanlabs/optopsy、OptionsnPython/Option-strategies-backtesting-in-Python(175⭐)、mcf-long-short/ibkr-options-volatility-trading期权回测库 / Greeks 教材 / 跨式实盘
O3 卖跨式+Delta 对冲umaangk13/Delta-Neutral-Volatility-Arbitrage-Engine、kartikmunjal/options-vol-researchVRP 收割 + PnL 归因
O4 铁鹰/价差sudheerbez/nifty-options-algorithmic-backtester、OptionsnPython/Option-strategies-backtesting-in-PythonVIX 动态铁鹰 / 价差教材
H1~H22 技术补全freqtrade/freqtrade-strategies、mrjbq7/ta-lib、TradingView 脚本库UT Bot / HalfTrend / Keltner / CCI / StochRSI 等
H17 BbandRsi / H18 MACD+RSI / H20 Supertrend 多周期freqtrade/freqtrade-strategiesfreqtrade 官方/社区样例
H22 动量轮动 / FT1~FT8 因子microsoft/qlib、quantopian/alphalens因子挖掘与组合
CR1 网格 / CR2 马丁freqtrade/freqtrade、freqtrade-strategies加密机器人仓位自定义
CR3/CR12/CR13/CR14 加密套利awesome-quant(Crypto 条目)资金费率 / 期现 / 跨期 / 基差
CN1~CN18 民间战法无开源规范实现依赖盘口/横截面/情绪数据,主观性强;仅认知参考
AR1~AR8 相对价值nirajneupane17/Statistical-Arbitrage-Pairs-Trading、statsmodels/statsmodels协整 / 价差 / 基差
HX1~HX6 高频做市alpacahq/pylivetrader、timkpaine/aat订单簿 / 做市仿真(研究用)